此处的this是指 change()这个方法。这个方法没有className的属性,所以会报未定义。
改写成这样应该就不会有问题了。
//HTML dom改写<li><a href="#1" onclick = "change(this)">lewvwer</a></li>
//javascript方法改写
function change(args){
alert(args.className)
}
如果解决你的问题,请采纳。
你在定义函数的时候,传的形参是num,而在函数内部使用的时候是n,明显不统一嘛,统一一下。就不会报错了----------------------------------
另外,在函数的末尾没有return值,所有在html文件内嵌入的document.write(...)输出为undefined
原因是因为:
1:window.onload = function(){}是一个作用域,请问你的函数调用是在哪里调用的?实在
window.onload这个作用域的外面调用还是在里面调用的?
2:有没有事件绑定呢?如果给元素绑定onclick等属性事件的时候,你的JS函数不能写在
window.onload里面,原因上述已经回答------>window.onload是一个作用域。你的js函数需要写
在script块中的全局作用域里。