描述你的问题
如下:
贴上相关代码
我的代码中下面这两句,总是有错,我刚开始学又不知道哪里写错了,求大神帮看看我哪里写错了。谢谢哈;
setTimeout("this.parentNode.style.backgroundColor = '#998866';" , 3000 ); //求大神帮看一下我这句代码哪里写错了,老是错误提示Uncaught TypeError: Cannot read property 'style' of undefined这个;谢谢哈
op2_a.setTimeout("offsetParent.className = 'sef3';" ,3000); //还有这句话。谢谢哈。
以下是我的整个代码
ss隐藏
saa隐藏
a隐藏
sasasa隐藏
ss隐藏
saa隐藏
a隐藏
sasasa隐藏
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
可以尝试使用闭包
setTimeout运行的作用域是全局的(window),所以上面的代码中this就为window。所以实际运行为:
所以就错误了。
将字符串传递给setTimeout函数的第1个参数,那么JS将试图执行传入的代码字符串,
效果同下,函数体中的this指向全局对象,parentNode这个属性是没有的。就会出错
setTimeout是全局函数,window对象才有这个属性,DOM元素是没有个这个方法的
建议你先去看一下js的setTimeout的用法,setTimeout是window级别的,直接p去调用不合适吧,还有set Timeout里面应该是function吧,直接传字符串不合适吧