使用字体系列类型定位特定元素

时间:2015-10-14 10:53:54

标签: jquery

我不得不将jquery应用于由各种CMS生成的代码。我只想将一个类添加到span个已分配了font-family个标记的标记中。

我遇到的问题是表现。此代码循环生成的代码中的所有span标记,可能是数百个。有没有一种方法只能定位font-family 'Open Sans'

的跨度

DEMO https://jsfiddle.net/w5fjqjvL/

// Works perfectly. Simple each loop iterating through ALL spans

$.each($('span'), function () {
    if ($(this).css('font-family').indexOf("Open Sans") >= 0){
        $(this).addClass('openSans');
    }
});

2 个答案:

答案 0 :(得分:0)

您可以使用过滤功能来获取具有所需条件的所有元素。然后将它们一起添加到它们中。不像在每种情况下单独添加元素。

但内部.filter()做同样的工作。迭代元素并根据条件返回过滤后的元素。唯一可以提高效率的方法就是增加课程。

$('span').filter(function(){
   return $(this).css('font-family').indexOf("Open Sans") >= 0;
}).addClass('openSans');

答案 1 :(得分:0)

需要使用jQuery过滤器

检查文档here

var $addFonts = $('span').filter(function(e) {
    return $(this).css('font-family').indexOf("Open Sans") >= 0);
});

$addFonts.addClass('openSans');