我不得不将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');
}
});
答案 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');