|
Где хранить 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, время: 14:47. |
|