用js操作页面元素,给指定元素添加属性,一般来说都是直接使用元素对象的setAttribute方法,如:
1 | |
但在IE下,如果你想设置onclick这样的属性的话,如果还这么写就错了
obj.setAttribute("onclick", "fun()");//IE下这是错误的!!
这是因为,在IE下,onclick被认为是一个Event,不能通过setAttribute方法来设定其值。我们可以使用DOM添加Event的方法attachEvent来实现,如:
1 | |
这样的话,那传递参数怎么办呢?可以通过这样的方法来解决:
1 | |
最后顺便说一下,在IE下设置class属性也不能这样:
|
原因很简单:IE里class应该为className
|
2008-10-8 记:
今天又遇到个类似问题,IE也不支持用setAttribute设置style属性!
解决办法:
obj.style.cssText="color:#FF0000"; //该代码兼容常用浏览器