Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以在jQuery选择器中使用多个属性吗?_Jquery_Jquery Selectors - Fatal编程技术网

可以在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

我不熟悉jQuery。我知道您可以使用
$('.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;
})