我正在使用此ligature.js脚本将连字添加到我的站点:http://code.google.com/p/ligature-js/
我遇到的问题是,我只想将它应用于某些类名,因为如果它应用于某些系统字体,而不是我正在加载的web字体,Windows中就不会出现连字字符。
文档说要在特定的元素上实现它,使用:
ligature(false, document.getElementById('myMemoirs'));我如何使用它来将它应用于不同的类,比如.site-title,或者使用jquery来实现?提前谢谢。
发布于 2013-01-24 06:43:01
如果你看一下连字源代码,你会注意到它只支持传递一个元素作为第二个参数,但它确实支持通过所有传递的元素子代来应用连字。您可以将连字应用于多个元素,方法是在一个循环中一次使用一个元素调用函数。
var siteTitle = document.getElementsByClassName('site-title');
var elemLength = siteTitle.length;
while(elemLength--) {
ligature(false, siteTitle[elemLength]);
}或使用jQuery
$.each($('.site-title'), function(index, element) {
ligature(false, element);
});但最好的方法可能是通过重构函数来处理多个元素。
发布于 2013-04-10 04:15:51
我们在一个Drupal基本主题中使用这个jQuery解决方案(非常好用),并将其设置为针对多个选择器,如下所示。有没有一种简单的方法来关闭某些选择器上的连接替换,在我们的一些子主题中使用覆盖脚本?我们的子主题继承了我们的基本主题脚本,但我们并不总是想要替换之前定义的所有元素的连字。
$.each($('h1, h2.site-name, .node-page h2, .node-page h3, .node-page h4'), function(index, element) {
ligature(false, element);
});https://stackoverflow.com/questions/14490244
复制相似问题