为什么点击的时候第一次运行正常,到第二次就提示错误:消息: 'object' 未定义?

js中
function aaa(a){
alert(a.getAttribute("src"));
setTimeout("aaa("+a+")",10);}
html中
<img src="aaaaaa" onclick="aaa(this)">
请高人指点

慕婉清6462132
浏览 108回答 3
3回答

桃花长相依

你这样肯定有问题,一个字符串和一个对象进行+运算的结果是什么,不能这样加的,应该考虑带字符串参数,例如:js中function aaa(a){alert(document.getElementById(a).getAttribute("src"));setTimeout("aaa('"+a+"')",10);}html中<img src="aaaaaa" id="xxx" onclick="aaa('xxx')">

弑天下

settimeout 不能直接传递对象,所以你要像我这么做 <script language="javascript">   var __sto = setTimeout;   window.setTimeout = function(callback,timeout,param)&nbsp; {   var args = Array.prototype.slice.call(arguments,2);&nbsp;  var _cb = function()   {&nbsp;  callback.apply(null,args);   }   __sto(_cb,timeout);   }&nbsp; //测试代码   function aaa(a)   {   alert(a.getAttribute("src")); window.setTimeout(aaa,100,a) }     </script>&nbsp;<img onclick="aaa(this)">&nbsp;

长风秋雁

setTimeout(function(){aaa(a);},10);试试这样。应该是可以的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript