Показать сообщение отдельно
  #1 (permalink)  
Старый 08.05.2016, 16:00
Аватар для DynkanMaclaud
Профессор
Отправить личное сообщение для DynkanMaclaud Посмотреть профиль Найти все сообщения от DynkanMaclaud
 
Регистрация: 08.08.2014
Сообщений: 261

Node.prototype в ие 8
решил написать метод который возвращал бы всех потомков. Прочитал что все DOM объекты налсдедуют методы от Node.prototype. Закинул я в Node.prototype функцию ниже и всё работает да вот только не в ие 8, где объекта Node вообще нету, так вот вопрос откуда тогда DOM элементы наследуют методы и свойства в 8ие?
Чтобы туда закинуть этот метод и как вообще определить от какого объекта происходит наследование?? если б не прочитал про Node.prototype, то так бы и не понял, что именно в него нужно записывать метод, также можно в Object.prototype, но тогда это затронит все объекты, а мне это не нужно ( кстати и через Object.prototype в ие 8 борода((( )

Node.prototype.getAll = function () {

	var c = this.children,
    mas = [];

  (function f(node) {
    
  	for (var i=0; i < node.length; i++) {
    
     mas.push(node[i]);
     
     if (!node[i].children.length) continue
     
     else {
     
     	 var k = node[i].children;

     	 f(k);
     
     }

    }
  
  
  })(c);

return mas;
}

console.log(document.documentElement.getAll())

Последний раз редактировалось DynkanMaclaud, 08.05.2016 в 16:04.
Ответить с цитированием