我正在使用 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 选择器中匹配。
那么,如果那行不通,那会怎样呢?
最佳答案
filter()怎么样? ?通过以下,它选择所有没有 no-cufon
父级的 li
元素。
Cufon.replace($('li').filter(function(){
if ($(this).parents('.no-cufon').length == 0) return true;
}));
关于html - 如何防止 Cufón 替换某个类下的元素中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6298126/