我怎样才能减少这种选择器?
$("#id .class1, #id .class2, #id .class3, #id .class4, #id .class5").on("mouseover", function(e){
// code
});
编辑:
例子:
$("#my_id .product, #my_id .date, #my_id .due").on("mouseover", function(e){
$(this).addClass("edit");
});
我怎样才能减少这种选择器?
$("#id .class1, #id .class2, #id .class3, #id .class4, #id .class5").on("mouseover", function(e){
// code
});
编辑:
例子:
$("#my_id .product, #my_id .date, #my_id .due").on("mouseover", function(e){
$(this).addClass("edit");
});
使用attribute-starts-with选择器
$("#id *[class^='class']");
或者,如果可能有一些其他'class...'类不应该包括在内,您可以手动过滤。
$("#id *[class^='class']").filter(function(i, el) {
return /class\d+\b/.test(el.className);
});
这将搜索'class'plus 一个或多个数字,以及一个单词边界。
您可以使用该find()方法将选择器分成两个不同的一次,从而删除重复的#id
$('#id').find( '.class1, class2, class3, class4, class5')
.on("mouseover", function(e){
// code
});
您可以使用使用上下文的选择器重载。
上下文可以是一个 jQuery 包装集或另一个选择器字符串。
$('.class1, .class2, .class3, .class4, .class5', '#id')
在这种情况下,您可以使用该.filter()方法..
$("#id").filter(".class1, .class2, .class3, .class4, .class5").on("mouseover", function(e){
// code
});
//OR 属性以选择器开头 ^
$("#id [class^="class"]").on("mouseover", function(e){
// code
});