可以在jQuery选择器中使用多个属性吗?
我不熟悉jQuery。我知道您可以使用可以在jQuery选择器中使用多个属性吗?,jquery,jquery-selectors,Jquery,Jquery Selectors,我不熟悉jQuery。我知道您可以使用$('.selector[attribute=value]')来选择dom中的对象,但是可以同时使用多个Atribute吗 例如: $('.selector [attribute=value], [attribute2=value2]') 资料来源:是。你怎么做取决于你想做什么。如果要匹配任一属性,请使用逗号运算符和完整选择器: Like $('.selector [attribute=value], .selector [attribute2=value
$('.selector[attribute=value]')
来选择dom中的对象,但是可以同时使用多个Atribute吗
例如:
$('.selector [attribute=value], [attribute2=value2]')
资料来源:是。你怎么做取决于你想做什么。如果要匹配任一属性,请使用逗号运算符和完整选择器:
Like $('.selector [attribute=value], .selector [attribute2=value2]')
如果要使元素与这两个属性匹配,只需将它们依次堆叠:
Like $('.selector [attribute=value][attribute2=value2]')
还请注意,空格是一个运算符,因此选择器
.selector[attribute=value]
将元素中具有给定属性的元素与类选择器匹配,而选择器.selector[attribute=value]
将元素与类选择器和给定属性匹配。当然可以。您建议的选择器将选择两个组,.selector[attribute=value]
和[attribute2=value2]
。如果两者都需要,$('.selector[attribute=value][attribute2=value2]')
是正确的语法。将此HTML作为示例:
<a rel="foo">Stack Overflow</a>
<a class="bar">Server Fault</a>
你可以用它来做这件事
$('li').filter("[attribute1=value1]")
.filter("[attribute2=value2]");
这取决于你想要什么:
选择具有两个属性的元素:
$('.selector[attribute=value][attribute2=value]')
选择具有以下任一属性的元素:
$('.selector[attribute=value], .selector[attribute2=value]')
语法是:
$(".selector[attribute=value][attribute2=value2]")
但是,如果您发现自己必须创建复杂的属性过滤器,那么使用filter()
函数可能是一个更干净的选择:
$(".selector").filter(function () {
var $el = $(this);
return $el.attr("attribute") === value &&
$el.attr("attribute2") === value2;
})
对不起,你能解释一下吗?我没有发现任何错误。您最好注意类和属性之间的空间。这可能是个错误。。。
$(".selector[attribute=value][attribute2=value2]")
$(".selector").filter(function () {
var $el = $(this);
return $el.attr("attribute") === value &&
$el.attr("attribute2") === value2;
})