javascript: IE DOM 到 Firefox (W3C) Dom中的问题

在用Firefox查看以前用javascript写的菜单,发现不起作用,用Javascript Console查看,发现有一堆错误和警告。主要是:
1. document.all
    Firefox可以兼容document.all, 但会生成一条警告。可以用getElementById("*") 或者 getElementByTagName("*)来代替
   不过对于document.all.length等属性,则完全不兼容。
2. parentElement
    这个也不兼容。比方说, obj.parentElement.name 则应改成 obj.parentNode.attributes.getNamedItem("name").nodeValue (不知道如何写得更简洁些)
3. event
    W3C不支持windows.event
     比方说:
       在IE里面
               <div class="menu" id="menu" οnclick="onMenuClick(); ">.....</div>
           function onMenuClick()
          {
              collapseMenu(event.srcElement);
           }
       工作正常。不过在Firefox中,则改成:

              <div class="menu" id="menu" οnclick="onMenuClick( event); ">
            function onMenuClick(evt)
          {
              if(evt == null)
                      evt = window.event; // For IE
               var srcElement = evt.srcElement? evt.srcElement : evt.target;  // IE使用srcElement, 而Firefox使用target
              collapseMenu(srcElement);
}

参考
http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1590626202
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值