I есть код JavaScript, который определяет функцию getElementsByAttribute
следующим образом:
Object.prototype.getElementsByAttribute = function(attr) {
var children = this.all || this.getElementsByTagName('*'),
ret = [], i, c;
for( i=0; i<children.length; i++) {
c = children[i].getAttribute(attr);
if( typeof c == "string" && c != "")
ret.push(children[i]);
}
return ret;
}
Это работает во всех браузерах, в которых я тестировал, кроме Internet Explorer 7 (и предположительно более ранней версии) - эти браузеры выдают сообщение «Object doesn»t поддерживают это свойство или метод "
Единственное, что мне не нравится, это то, что объекты уже были созданы, когда я определил функцию прототипа ...
Избегая определения функции как ... ну, "нормальной" функции и передачи элемента в качестве аргумента, есть ли способ заставить это работать в IE7 и ниже?