各浏览器中javascript兼容性问题


1、使用setAttribute()改变网页中标签的onclick属性
2、IE中通过 setAttribute添加的属性



1、使用setAttribute()改变网页中标签的onclick属性 *p1

      setAttribute设置style和onclick这些属性在IE中是行不通的。

<script type="text/javascript">
    
function cancleEvent()
    {
        document.getElementById('a').setAttribute(
"onclick",'');
        document.getElementById('g').innerHTML
="取消事件!";
    }

    
function setEvent()
    {
        document.getElementById('a').setAttribute(
"onclick",'alert("你好!")');//firefox    
        document.getElementById('a').onclick
= function () { alert("This is a test!"); }//IE firefox也有作用,但是使用firebug调试看不到修改后的效果,使用上面的方法可以看到。    
        document.getElementById('Div1').innerHTML
="设置事件!";
    }
</script>


注:
*p1:使用setAttribute()改变网页中标签的onclick属性    http://blog.csdn.net/Cnami/archive/2008/05/27/2486516.aspx




2、IE中通过 setAttribute添加的属性 *p2

      IE下setAttribute设置元素的对象、集合和事件属性都只当成普通属性,起不到原有的作用,但可以直接进行赋值操作。

<script language="javascript" type="text/javascript">
<!--
function init() {
    
var obj = document.getElementById("btn");
    obj.onclick
=changeValue;
    obj.style.background
="#CC6600";
}
function changeValue() {
    document.getElementById(
"txt").value = "New value!";
}
-->
</script>


注:
*p2:[求助]通过 setAttribute 添加的属性在 IE 下不被实现? http://bbs.blueidea.com/viewthread.php?tid=2290521




posted on 2010-05-11 00:10  黄小二  阅读(272)  评论(0编辑  收藏  举报