Почему не работает такая конструкция?
Где ошибка?
function sort(){ var elements = document.getElementsById("6"); for(var i=0; i<elements.length; i++) { elements[i].style.display="none"; } } |
Цитата:
если вам нужно получить все элементы с таким ID юзайте querySelectorAll но он не работает в ИЕ7 и ниже, для него можно подключить библу QSA CSS Selector Engine v1.0 |
raffx, у всех элементов на странице должен быть индивидуальный идентификатор (id)
getElementById() |
Спасибо, не заметил лишнюю букву "s". Подправил скрипт, но что-то все-еще не работает. Вся картина следующая.
<a id="6" href="#">Первый</a><br> <a id="6" href="#">Второй</a><br> <a id="7" href="#">Третий</a><br> <span onClick="sort(6)">Убрать перый и второй<a/> function sort(id){ var elements = document.getElementById(id); for(var i=0; i<elements.length; i++) { elements[i].style.display="none"; } } Когда жмешь span, должна запуститься функция sort и убрать первые 2 элемента, оставив только третий. Вроде должно работать, но :( |
raffx, вы не дочитали, что
Цитата:
<a name="a" href="#">Первый</a><br> <a name="a" href="#">Второй</a><br> <a name="b" href="#">Третий</a><br> <span onClick="sort('a')">Убрать перый и второй<a/> function sort(id){ var elements = document.getElementsByName(id); for(var i=0; i<elements.length; i++) { elements[i].style.display="none"; } } |
Я всегда думал, что id и есть уникальный идентификатор...
Переделал так, все еще не работает. <a name="6" href="#">Первый</a><br> <a name="6" href="#">Второй</a><br> <a name="7" href="#">Третий</a><br> <span onClick="sort('6')">Убрать перый и второй</span> function sort(id){ var elements = document.getElementByName(id); for(var i=0; i<elements.length; i++) { elements[i].style.display="none"; } } Или уникальный идентификатор name не может быть цифрой? |
ты продолжаешь брать по id элементы, а id у этих элементов бльше нету. вместо этого name у тебя
<a name="6" id="1" class="fuu" href="#">Первый</a><br> <a name="6" id="2" class="fuu" href="#">Второй</a><br> <a name="7" id="3" class="fuu" href="#">Третий</a><br> <span onClick="sort('6')">Убрать перый и второй</span> function sort(id){ var elements = document.getElementsByName(id); for(var i=0; i<elements.length; i++) { elements[i].style.display="none"; } } + к карме мне |
CekacBT, вы про этот id?
function sort(id){ var elements = document.getElementByName(id); Я так понимаю, что тут может быть что угодно. Главное "getElementByName". Или я чего-то не пойму никак. Пусть будет вот так, но скрипт не хочет работать. function sort(key){ var elements = document.getElementByName(key); for(var i=0; i<elements.length; i++) { elements[i].style.display="none"; } } |
Откройте уже консоль ошибок и посмотрите, что там пишется.
|
Понял.
getElementById пишется без s в конце Element getElementsByName с буквой s. Работает. Спасибо всем за помощь. |
Часовой пояс GMT +3, время: 20:58. |