Привет. Не подскажите, как перебрать родные свойства объекта?
На странице есть несколько элементов с неким классом(пусть будет .my-class) и со всеми ними нужно произвести некие операции, например, удалить. Как это сделать? Без jQuery, разумеется.
Есть такой код:
nodes = document.querySelectorAll('.my-class');
for (var node in nodes) {
if (nodes.hasOwnProperty(node)) {
console.log(node, nodes[node]);
nodes[node].parentNode.removeChild(nodes[node]);
}
}
Но он перебирает не только сами элементы, но и свойство length, равное количеству найденных элементов.
Цикл for .. in ..
не подходит для перебора массивов, так как перебирает свойства объекта.
Исправленый вариант:
for(var i = 0, node = nodes[i]; i < nodes.length; i++, node = nodes[i]) {
node.style.backgroundColor = 'red';
}
Демо: http://jsfiddle.net/coder13/xUUf3/
Похоже это баг Хрома, но в вашем случае так и так for in
не уместен, лучше:
for( var i = 0; i < nodes.length; i++ ) { ... }
// или обратный while
var i = nodes.length;
while( i-- ){ ... }
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не могу, поменять DOM с помошью "getElementById" и "innerHTML"Можете помочь как правильно сделать
Есть локальный конвертер для преобразования файла m3u в enigma2Как сделать обратный конвертер для преобразования --- файла enigma2 в m3u ?
Задача: есть несколько h3, при вводе в input букв - начать выводить подходящие h3html-разметка