Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как изменить css свойсво нескольких елементов? (https://javascript.ru/forum/misc/20591-kak-izmenit-css-svojjsvo-neskolkikh-elementov.html)

B@rmaley.e><e 11.08.2011 08:51

Цитата:

Сообщение от kobezzza
Дык даже если расширили прототип, hasOwnProperty ведь никто же не отменял

Писать больше кода из-за упрямства?
Цитата:

Сообщение от melky
или модное enumerable:false

Есть не везде.
Цитата:

Сообщение от devote
А в моем случае можно и нужно, ибо getElementsByTagName возвращает не массив а объект "NodeList".

Чем частное решение лучше общего?

devote 11.08.2011 08:58

Цитата:

Сообщение от B@rmaley.e><e
Чем частное решение лучше общего?

ничем, просто есть встроенные в ядро возможности перебора объектов, и они работают не для того что бы ими не пользоваться.

B@rmaley.e><e 11.08.2011 09:32

Цитата:

Сообщение от devote
ничем, просто есть встроенные в ядро возможности перебора объектов, и они работают не для того что бы ими не пользоваться.

Они работают не для того, чтобы использовать их повсеместно. Как-то странно в одном случае итерировать массиво-подобные объекты через for-in, а в другом - как обычно, через for(var i = 0; i < length; ++i)

devote 11.08.2011 09:48

ну при желании можно как многие говорят, все опять же от ситуации зависит:
for( var i = 0; elems[ i ]; i++ ) { ... }

melky 11.08.2011 12:48

можно и

Array.prototype.forEach.call( myNodeList, function(element, index){...} )


а фор иач будет добавляться в прототип для поддержки старых браузеров

как это.. фасад ? :)

Kolyaj 12.08.2011 11:28

Цитата:

Сообщение от melky
можно и

Array.prototype.forEach.call( myNodeList, function(element, index){...} )

В IE не будет работать.

melky 12.08.2011 12:17

Цитата:

Сообщение от Kolyaj (Сообщение 119971)
В IE не будет работать.

из-за того, что нет forEach ?

так реализуют же

или какая-то другая причина?

Kolyaj 12.08.2011 12:20

Ой, нет, я обманул. Это стандартные методы массивов нельзя вызвать в контексте DOM-объектов, а кастомные можно.


Часовой пояс GMT +3, время: 03:04.