有没有办法让DOMElement.attributes列表在旧的Internet Explorer中清洁(标准)?

时间:2011-10-05 09:12:25

标签: javascript dom internet-explorer-8 internet-explorer-7 cross-browser

如主题

Element.attributes数组内容将在Internet Explorer 6-7-8

中引起你的注意

实际上这个getter返回了javascript对象的整个属性列表

有一种方法可以在旧的IE浏览器中模拟标准方式吗?

随时纠正我的英语。提前谢谢你。

1 个答案:

答案 0 :(得分:1)

由于浏览器转为IE,我在下面的代码中有一些注意事项:

  • 代码只会列出具有特定值(非空)的属性。除非,IE将列出单个元素的所有超过100个属性。我认为这是不必要的。
  • 你会得到一些额外的属性,比如“tabindex”,“readOnly”......尽管你的元素代码很简单:“<input type=text>”。这是因为IE的方式。

嗯,代码将是这样的:

$(function(){
    var A = $('.targetElement').get(0).attributes
    try{
        var i=0;
        while(A.item(i)){
            if (A.item(i).value != '' && A.item(i).value != 'null'){
                $('body').append( A.item(i).name+ ' = '+ A.item(i).value + '<br>' )
            }
            i++
        }
    }catch(e){}
})