Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Раскрывающийся список меню (https://javascript.ru/forum/dom-window/10805-raskryvayushhijjsya-spisok-menyu.html)

sinichka 21.07.2010 18:08

Раскрывающийся список меню
 
Привет всем, я еще совсем новичек в JavaScript и, создавая скрипт для раскрывающегося списка, у меня возник такой вопрос: Почему не работает "this.nextSibling.style;"? ведь по логике все должно быть правильно! Может ошибка в другом?

вот скрипт полностью:

window.onload = initAll;

function initAll() {
var allLinks = document.links;
for (i=0; i<allLinks.length; i++) {
if (allLinks[i].className.indexOf("menuLink") > -1) {
allLinks[i].onclick = toggleMenu;
}
}
}

function toggleMenu() {
var thisMenuStyle = this.nextSibling.style;
if (thisMenuStyle.display == "block") {
thisMenuStyle.display = "none";
}
else {
thisMenuStyle.display = "block";
}
return false;
}

А вот HTML:

<body>
<div>
<a href="menu1.html" class="menuLink">Меню1</a>
<ul class="menu" id="menu1">
<li><a href="pg1.html">ссылка1</a></li>
<li><a href="pg2.html">ссылка2</a></li>
<li><a href="pg3.html">ссылка3</a></li>
<li><a href="pg4.html">ссылка4</a></li>
</ul>
</div>
<div>
<a href="menu2.html" class="menuLink">Меню2</a>
<ul class="menu" id="menu2">
<li><a href="pg5.html">ссылка1</a></li>
<li><a href="pg6.html">ссылка2</a></li>
<li><a href="pg7.html">ссылка3</a></li>
</ul>
</div>
<div>
<a href="menu3.html" class="menuLink">Меню3</a>
<ul class="menu" id="menu3">
<li><a href="pg8.html">ссылка1</a></li>
<li><a href="pg9.html">ссылка2</a></li>
</ul>
</div>
</body>

exec 21.07.2010 18:12

Пробелы между символами тоже учитываются, nextSibling может выбрать как раз их.

sinichka 21.07.2010 18:25

Цитата:

Сообщение от exec (Сообщение 64674)
Пробелы между символами тоже учитываются, nextSibling может выбрать как раз их.

Да, сработало. Только пробелов не было, был перевод строки ентером. Значит, даже перевод строки или табуляция могут стать помехой сценарию?


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