html - 如何防止 Cufón 替换某个类下的元素中的文本?

标签 html css css-selectors cufon

我正在使用 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;
}));

例子: http://jsfiddle.net/niklasvh/prr4W/

关于html - 如何防止 Cufón 替换某个类下的元素中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6298126/

相关文章:

css - 选择另一个元素内的第一个元素

javascript - 使用 javascript 隐藏/显示 div

css - Sass - 过渡悬停在多个元素上

css - 设置所有 Bootstrap 3 导航栏链接的样式,但 ul 下的链接除外

css - 清除两个表高度?

css - 您最常使用的 CSS hack 是哪一种,您避免使用哪一种?

css - 定位 blockquote itemprop ="reviewBody"

html - CSS以不同方式定位具有相同类的两个元素

javascript - 如何更改 Bootstrap 轮播的间隔时间?

javascript - 如何使用 JavaScript 更改元素的背景颜色