我先举一个例子:
在德语中,“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脚本?
非常感谢您的帮助。