<html><head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> var i=1; window.onload = function() { node_name = document.body.firstChild; node_name.setAttribute("src","images/sh_hero_1.jpg"); node_name.setAttribute("onclick","c(this)"); } function c(q) { i++; q.setAttribute("src","images/sh_hero_"+i+".jpg"); } </script></head><body><img/></body></html>node_name.setAttribute("onclick","c(this)");中的this工作原理是什么?为什么能把node_name这个局部变量传出去?新人小白求轻拍。
1 回答
萧十郎
TA贡献1815条经验 获得超13个赞
<button onclick="c(this)"></button><script>function c(el){ //此时el引用的是button}</script>
你的代码node_name.setAttribute("onclick","c(this)");
其实是动态地添加类似上面button中的onclick属性。
当按下按钮时,会执行onclick
中的代码,在c(this)
这段短短的代码中,this就是指向当前元素。
添加回答
举报
0/150
提交
取消