人!
我有这个:
$('.download_video a[href*="flv"]').each(function() {
$( this ).addClass('videoCl');
});
我想在一个代码行中执行许多检查,如:
$('.download_video a[href*="flv|mpeg|ogg"]').each(function() {
$( this ).addClass('videoCl');
});
我意识到flv | mpeg | ogg无法正常工作。我认为这是一个细节问题......
有人可以帮助我吗?
很多!
答案 0 :(得分:3)
您不能在单个选择器中放置多个属性选择器。但是,您可以使用逗号组合多个选择器:
$('.download_video')
.find('a[href*=flv], a[href*=mpeg] a[href*=ogg]')
.addClass('videoCl');
请注意,如果您对每个元素执行相同的操作,则不需要使用.each
; jQuery会自动映射整个集合。
答案 1 :(得分:1)
尝试
$.fn.attrs = function () {
var args = arguments[0];
var elem = $(this);
var map = $.map(arguments[1], function (v, k) {
return ($("[" + args + "*=" + v + "]").is(elem)
? elem[0].nodeName.toLowerCase()
+ "[" + args + "*=" + v + "]"
: null);
});
return $(map.toString());
};
$(".download_video a")
.attrs("href", ["mpeg", "flv", "ogg"]).addClass("videoCl");