Я использую Cufón для замены текста на веб-странице, и у меня загружена библиотека jQuery. Я пытаюсь заменить все экземпляры <li>
элементов (среди прочих, таких как <p>
и т. Д.), Но только когда они не появляются в определенном классе.
Вот пример HTML:
<ul>
<li>This</li>
<li>Should</li>
<li>Be Replaced</li>
</ul>
<div>
<ul>
<li>So should</li>
<li>this</li>
</ul>
</div>
<div class='no-cufon'>
<ul>
<li>Don't replace this</li>
</ul>
</div>
Обратите внимание, что большая часть моего HTML является динамической, иначе я просто изменил бы разметку.
Я использую команду Cufon.replace('*:not(.no-cufon) li');
для замены текста, но он по-прежнему нацелен на все <li>
теги
В консоли разработчика (Chrome 12) я получаю следующие значения с помощью этих селекторов jQuery:
$("body *").length
11
$("body *:not(.no-cufon)").length
10
$("body * li").length
6
$("body *:not(.no-cufon) li").length
6
По какой-то причине теги <li>
в классе no-cufon
все еще сопоставляются в моем последнем селекторе jQuery.
Так что, если это не сработает - что будет?