【发布时间】:2011-06-10 03:40:34
【问题描述】:
我正在使用 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'); 替换文本,但它仍然针对 all <li> 标签
在我的开发者控制台 (Chrome 12) 中,我使用这些 jQuery 选择器获得以下值:
$("body *").length
11
$("body *:not(.no-cufon)").length
10
$("body * li").length
6
$("body *:not(.no-cufon) li").length
6
由于某种原因,no-cufon 类下的 <li> 标记仍在我的最终 jQuery 选择器中匹配。
如果这不起作用——那会怎样?
【问题讨论】:
-
请注意,
*仅在单独使用时才需要。与您的问题无关。 -
你是说我可以用
:not(.no-cufon)代替*:not(.no-cufon)?
标签: html css css-selectors cufon