|
Где хранить id
На сайте несколько меню, которые генерируются скриптом. Например ul.#menu1 и ul.#menu2, у каждого элемента внутри свой айдишник.
Логично было бы хранить их как li.#1, li.#2, ... Но т.к. меню два, то айдишники элементов будут повторяться, чего быть не должно. Поэтому храню как li.data('id',1), li.data('id',2), ... Насколько плох первый способ (li.#1, li.#2, ...)? Действительно ли так критичен повтор в атрибуте id? |
а почему не class?
|
Shitbox2, а зачем вам эти как бы id?
Цитата:
|
Цитата:
|
Deff, ты упустил один момент. Вопрос задан в контексте jQuery. А jQuery использует getElementById для селекторов типа #id. А getElementById возвращает только один элемент, причем какой из всех - спецификцией не определено.
|
Если обернуть каждое меню в div c разными Id,
То достаточно просто обеспечить поиск идентичных Id в контексте данных разных оберток <script src="http://code.jquery.com/jquery-latest.js"></script> <div id=Wrp1> <ul id=menu>Тут меню 1 </ul> </div> <div id=Wrp2> <ul id=menu>Тут меню 2 </ul> </div> <script type="text/javascript"> var div1=$('#Wrp1'); var div2=$('#Wrp2'); alert($('#menu',div1).text()+'\n'+ $('#menu',div2).text()) </script> |
Цитата:
|
<script src="http://code.jquery.com/jquery-latest.js"></script> <div id=Wrp1> <ul id=menu>Тут меню 1 </ul> </div> <div id=Wrp2> <span>участвует?</span> <ul id=menu>Тут меню 2 <span>и каким боком здесь #menu участвует?</span></ul> </div> <script type="text/javascript"> var div1=$('#Wrp1'); var div2=$('#Wrp2'); alert($('#menu',div1).text()+'\n\n'+ $('#menu span',div2).text()) </script> |
рони,
Cуть задачи поставить две менюшки с идентичными тегами и разным контентом и по возможности или использовать один скрипт для их работы(к примеру скрытия вкладок) для обоих меню; либо два скрипта, - второй скрипт с минимальными правками: Пока две версии правки для варианта c двумя скриптами: поправить все ID во втором скрипте и самом контенте меню: #menu на #menu-2, либо обернуть каждое меню в свой div и заменить в скрипте: "#menu" на "#menu",div2 |
Deff,
Подскажите где про $('#menu',div1) такую выборку прочитать можно? вот так бы я понял $("#Wrp2 #menu span").text() |
Часовой пояс GMT +3, время: 06:42. |
|