Показать сообщение отдельно
  #13 (permalink)  
Старый 14.04.2012, 13:50
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от bes
Правильно ли я понимаю, что псевдомассивы хранят в качестве элементов ссылки на некоторые элементы (через которые собственно можно получить к ним доступ), ведь мы можем обращаться к доступным свойствам этих элементов (например, a[0].innerHTML)
Да.
Только для HTMLCollection эти ссылки будут хранится только на живые элементы, если они есть.
ПРи их исчезновении, коллекция будет уменьшатся в размерах.
А при добавлении новых элементов, наоборот даже расти:
var a = document.getElementsByTagName('a');
console.log(a.length);//1
document.getElementsByTagName('div')[0].innerHTML += '<a href="">content</a>';
console.log(a.length);//2, потому что ссылок уже две


Сообщение от bes
хотя приведённый вами пример, Gvozd, вернул строку <a href=""> для a[0] .
Вообще-то тут возвращается сам элемент.
Просто в консоли отладчика он выглядит как такая строка, которую я сюда скопипастил.
Запустите мои примеры в консоли firebug(это плагин для FireFox), например.
Можно и в отладочной консоли любого другого браузера, благо она есть сейчас во многих браузерах.
Сообщение от bes
Если работает, почему бы и нет
Как я уже сказал, в данном случае оператор in не будет работать так как вы хотите.
Зато я привел вам столь же короткий способ решения, без циклов, который будет работать.
Даже Pavel M., уже вам говорит о том же самом
Ответить с цитированием