Cufon不会用选择器排除元素:不

时间:2012-07-30 10:15:14

标签: jquery jquery-selectors fonts font-face cufon

我在网上搜索并使用stackoverflow解决了排除元素的Cufon转换,因为我的字体' BlueHighwayDType '不包含''符号所以我必须排除这个元素才能在ie7 / 8上看到它。 http://www.matteowebdesigner.com/test/yesimove/

<!--head-->
<!--[if lt IE 9]>
<script type="text/javascript" src="js/cufon-yui.min.js"></script>
<script type="text/javascript" src="js/Blue_Highway_D_Type_400.font.js"></script>
<script type="text/javascript" src="js/mind-ie.js"></script>
<![endif]-->

我要替换的元素是 p ,我要排除的元素是 span.small

<!--body-->
<article>
    <p>L'unico <strong>Personal Trainer</strong> <br/>
    che ti segue ovunque</p>
    <p>e ti permette di <strong>condividere</strong> 
    i tuoi progressi con i tuoi amici.</p>
    <p>A soli <strong>9.<span class="small">99 &euro;</span></strong> al mese !</p>
</article>

所以我尝试了我在网络上找到的示例,并使用了选择器“:not ”,但它不起作用。看这个:

/*mind-ie.js*/
$(document).ready(function() { // Start Functions
    Cufon.replace('#main #slogan section article p:not(.small)');
});

我不明白,因为它不起作用,我认为选择器是正确的。

2 个答案:

答案 0 :(得分:1)

即使在这种情况下也要排除所有span元素。

Cufon.replace('#main #slogan section article p',{ignore:{span:true}});

答案 1 :(得分:0)

small类实际上是由后代<span>元素公开的,而不是由<p>元素公开。

尝试使用:has()选择器:

Cufon.replace("#slogan section article p:not(:has(.small))");

第二个想法,这将忽略包含与<p>匹配的元素的.small元素,这可能不是您想要的。指定ignoreClass选项看起来更好看:

Cufon.replace("#slogan section article p", {
    ignoreClass: "small"
});