【问题标题】:Change font for £ after page loaded页面加载后更改£字体
【发布时间】:2011-08-08 16:54:09
【问题描述】:

我遇到一种情况,H3 元素中的字体被 Cufon 替换为没有磅 L (£) 的字体。

作为一种快速修复,我想在 cufon 完成之后用不同的字体替换 H3 元素中的任何 £。

我认为 jQuery 可以做到这一点。我想它必须用一个调用不同字体的 span 标签替换 £?

【问题讨论】:

  • 是的。这听起来很对。究竟是什么问题,或者我们只是为了道义上的支持? ;-)

标签: jquery cufon


【解决方案1】:

上一个答案改变了整个元素的字体,这只是一个字符。

$('h3').each(function() {$(this).html($(this).html().replace('&pound;','<span font="your font">&pound;</span>'));});

【讨论】:

  • 我在 .replace(...) 之后添加了一个额外的 ) ,这很好用。不幸的是,£字符不在目标字符串中,因为它不在 cufon 使用的字体中(这对我来说很愚蠢)。因此,只有在调用 cufon 之前将 £ 替换为其他内容,然后再将其替换回来,将字体更改为具有 £ 字符的字体时,此解决方案才有效。
【解决方案2】:

这会检查所有带有“oldFont”类的h3元素是否出现“£”字符,并将它们全部包装在带有“newFont”类的span中:

$("h3.oldFont").each(function() {
   $(this).html($(this).html().replace(/£/g, "<span class='newFont'>£</span>")); 
});

【讨论】:

    【解决方案3】:
    $(document).ready(function(){
        $("h3:contains('£')").css('font-face','Arial');
    
    });
    

    【讨论】:

    • 我认为他想用不同的字体而不是整个 h3 元素替换 just £。所以需要将 innerHTML (.html()) 替换为 &lt;span class="pound"&gt;£&lt;/span&gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多