Есть ли способ сделать список DOMElement.attributes чистым (стандартным) в старых интернет-браузерах? - PullRequest
0 голосов
/ 05 октября 2011

как в теме

Содержимое массива Element.attributes поразит вас в Internet Explorer 6-7-8

на самом деле этот геттер возвращает весь список свойств объекта javascript

есть ли способ эмулировать стандартным способом в старых браузерах IE?

Не стесняйтесь исправлять мой английский. заранее спасибо.

1 Ответ

1 голос
/ 05 октября 2011

Поскольку браузер отключает 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){}
})
...