как изменить css свойсво нескольких елементов?
Есть проблема, имееться несколько тегов <a> с одинаковым идом, нужно изменить свойства ссылок при наступлении какого-то события, пытался изменить через document.getElementById(), меняет стиль только первого тега <a>, есть ли способ изменить стиль всех ссылок сразу?
|
Цитата:
Цитата:
|
var a = document.getElementsByTagName('a'); for( var i in a ) { a[ i ].className = 'newcssstyle'; } |
devote,
не нужно так делать :nono: <ul id="ul"> <li>1</li> <li>2</li> </ul> <script> var li = document.getElementById('ul').children, i = li.length; while(i--) { li[i].style.color = 'red'; } </script>почему? |
Цитата:
|
Цитата:
|
Цитата:
Видимо это из-за того, что я не сторонник вешать прототипы на стандарные объекты.. И я не понимаю тех кто это делает. |
Дык даже если расширили прототип, hasOwnProperty ведь никто же не отменял
|
или модное enumerable:false
|
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
ну при желании можно как многие говорят, все опять же от ситуации зависит:
for( var i = 0; elems[ i ]; i++ ) { ... } |
можно и
Array.prototype.forEach.call( myNodeList, function(element, index){...} ) а фор иач будет добавляться в прототип для поддержки старых браузеров как это.. фасад ? :) |
Цитата:
|
Цитата:
так реализуют же или какая-то другая причина? |
Ой, нет, я обманул. Это стандартные методы массивов нельзя вызвать в контексте DOM-объектов, а кастомные можно.
|
Часовой пояс GMT +3, время: 22:36. |