Не работает селектор
Он должен во все четные элементы li, не находящиеся внутри ul класса disabled прописать какой-нибудь код.
$("#omg li:odd").not(parent("ul.disabled")).html("lalala"); Но увы, не работает( |
$(':not(ul.disabled) #omg li:odd').html( 'Бла бла бла' ); |
Есть проблема при таком способе, если внутри li есть еще ul, селектор игнорирует его содержимое, а должен также добавлять текст в li внутри этого ul
|
$('#omg li:odd, ul', ':not(ul.disabled)').html( 'Бла бла бла' ); |
:not(ul.disabled) он теперь почему-то игнорирует, во все подрят текст вставляет(
|
<head> <script src="http://code.jquery.com/jquery-latest.min.js"></script> </head> <body> <script type="text/javascript"> $(function(){ $('div :not(.disabled:parent) li').html('text'); }); </script> <div> <ul> <li></li> <li></li> <li> <ul> <li></li> <li></li> </ul> </li> </ul> <ul class="disabled"> <li></li> <li></li> </ul> </div> </body> |
В общем покажу на конкретном примере:
Нужно расскрасить списки разным текстом красным и синим, но происходит следующее: 1) Списки третьей степени вложенности расскрашиваются только синим 2) А списки внутри disabled глубже чем первой вложенности раскрашиваются как обычно, хотя не должны. <head> <script src="http://code.jquery.com/jquery-latest.min.js"></script> </head> <body> <script type="text/javascript"> $(function(){ $('div :not(.disabled:parent) li:even').css('color', 'red'); $('div :not(.disabled:parent) li:odd').css('color', 'blue'); }); </script> <div> <ul> <li>red</li> <li>blue</li> <li>red <ul> <li>blue <ul> <li>red</li> <li>blue</li> <li>red</li> </ul> </li> <li>blue</li> <li>red</li> </ul> </li> </ul> <ul class="disabled"> <li>black <ul> <li>black</li> <li>black</li> </ul> </li> <li>black</li> </ul> </div> </body> |
Ну что никто помочь не сможет?))))
|
$(function(){ var $items = $("div > ul:not(.disabled) li"); $items.filter(":odd").css("color", "#f00"); $items.filter(":even").css("color", "#00f"); }); так? |
А если еще использовать метод .end, то можно и без кеширования обойтись. :)
Но вообще надо убивать за подобные задачи, для которых нужен такой "unobstructive"-javascript :( |
Часовой пояс GMT +3, время: 19:20. |