首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将ligature.js应用于特定元素

将ligature.js应用于特定元素
EN

Stack Overflow用户
提问于 2013-01-24 06:04:31
回答 2查看 222关注 0票数 0

我正在使用此ligature.js脚本将连字添加到我的站点:http://code.google.com/p/ligature-js/

我遇到的问题是,我只想将它应用于某些类名,因为如果它应用于某些系统字体,而不是我正在加载的web字体,Windows中就不会出现连字字符。

文档说要在特定的元素上实现它,使用:

代码语言:javascript
复制
ligature(false, document.getElementById('myMemoirs'));

我如何使用它来将它应用于不同的类,比如.site-title,或者使用jquery来实现?提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-24 06:43:01

如果你看一下连字源代码,你会注意到它只支持传递一个元素作为第二个参数,但它确实支持通过所有传递的元素子代来应用连字。您可以将连字应用于多个元素,方法是在一个循环中一次使用一个元素调用函数。

代码语言:javascript
复制
var siteTitle = document.getElementsByClassName('site-title');
var elemLength = siteTitle.length;
while(elemLength--) {
  ligature(false, siteTitle[elemLength]);
}

或使用jQuery

代码语言:javascript
复制
$.each($('.site-title'), function(index, element) {
  ligature(false, element);
});

但最好的方法可能是通过重构函数来处理多个元素。

票数 1
EN

Stack Overflow用户

发布于 2013-04-10 04:15:51

我们在一个Drupal基本主题中使用这个jQuery解决方案(非常好用),并将其设置为针对多个选择器,如下所示。有没有一种简单的方法来关闭某些选择器上的连接替换,在我们的一些子主题中使用覆盖脚本?我们的子主题继承了我们的基本主题脚本,但我们并不总是想要替换之前定义的所有元素的连字。

代码语言:javascript
复制
$.each($('h1, h2.site-name, .node-page h2, .node-page h3, .node-page h4'), function(index, element) {
    ligature(false, element);
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14490244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档