jQuery:“大写字母S”(ẞ)代替文本转换的自动生成的“ SS”:大写

时间:2018-11-21 14:28:56

标签: javascript jquery replace character

我先举一个例子:

在德语中,“Buße”和“ Busse”一词具有不同的含义(re悔和公共汽车/公共汽车)。如果我在网站上使用CSS定义“ text-transform:uppercase”将这两个词都转换为“ BUSSE”。

我想通过在大写标题中使用漂亮的“拉丁大写字母Sharp s”(ẞ)来避免这种情况。因为不可能通过CSS处理此问题,所以我写了一些jQuery片段来解决此问题。

jQuery( 'h1, h2, h3, h4, h5, h6, p, li, td, span' ).each( function() {
    if ( jQuery( this ).css( 'text-transform' ) === 'uppercase' ) {
        $( this ).html( $( this ).html().replace( /ß/g, 'ẞ' ) );
    } 
} );

这将遍历所有列出的元素,并检查每个元素是否存在问题的css属性。如果为true,则将小写的ß替换为大写的

这正在工作。但是性能当然..您可以想象。

还有其他方法可以执行此操作吗,还是可以使用更好的选择器或其他工具来优化此jQuery脚本?

非常感谢您的帮助。

0 个答案:

没有答案