|
|
|
| в общем, сижу ковыряю ДОМ. Все основные постулаты более или менее понятны. Иерархия тоже ясна, не совсем ясно как по ней можно пройтись из jQuery. Вот для примера такой кусок дерева:
<ul>
<li><div class="com">Tragedies</div>
<ul>
<li><a href="hamlet.pdf">Hamlet</a></li>
<li>Macbeth</li>
<li>Romeo and Juliet</li>
</ul>
</li>
<li><div class="com">Histories</div>
<ul>
<li>Henry IV (<a href="mailto:henryiv@king.co.uk">email</a>)
<ul>
<li>Part I</li>
<li>Part II</li>
<li>Part III</li>
<li>Part IV</li>
</ul>
<li><a href="http://www.shakespeare.co.uk/henryv.htm">Henry V</a></li>
<li>Richard II</li>
</ul>
</li>
</ul>
|
далее на jQuery пишу нечто типа этого:
$(document).ready(function() {
$('li:contains(Part)').siblings().addClass('highlight');
});
|
я хочу, чтобы элементы списка, содержащие заданный текст (в данном случае "Part") выделялись определенным классом.
уже перебрал все шо мог: next(), nextAll(), children(), parent(), prev(), prevAll().
Блин, уже не знаю как можно выделить только то, что надо.
В результат попадают либо лишние элементы, либо вообще ничего :(
Лишние классы вешать на <li> не буду - слишком жирно будет. Этих ЛИшек могут быть десятки | |
|
|
|
|
|
|
|
для: asptema
(22.11.2009 в 04:34)
| | Вообще-то правильно пишется так:
| |
|
|
|
|
|
|
|
для: sim5
(22.11.2009 в 04:40)
| | так может быть и правильнее, но смысл от этого не изменился. самый близкий рабочий вариант:
$(document).ready(function() {
$("li:contains('Part')").next().addClass('highlight');
});
|
вот только при этом выделение "съезжает" на одно вперед по дереву DOM.
Если кто не понял - нужно выбрать все элементы на одном уровне, не более того. | |
|
|
|
|
|
|
|
для: asptema
(22.11.2009 в 04:48)
| | alert($("li:contains('Part')").size()) равно 6, то есть вся ветвь элементов li в которых есть текст Part.
next(), значит взять следующее, поэтому и "съезжает", а вам надо что выделить?
Если иерархия ветви вашей постоянна, то:
$("li>ul>li>ul>li:contains('Part')").size() будет равна искомому (4):
$("li>ul>li>ul>li:contains('Part')").wrap("<b></b>");
|
| |
|
|
|