The*_*ndr 92 jquery operators find jquery-selectors
我正在考虑,如果在jQuery中可以使用AND和OR通过命名属性选择元素.
例:
<div myid="1" myc="blue">1</div>
<div myid="2" myc="blue">2</div>
<div myid="3" myc="blue">3</div>
<div myid="4">4</div>
Run Code Online (Sandbox Code Playgroud)
我想选择所有元素,myc="blue"
但只选择那些myid
设置为1或3 的元素.
所以我尝试过:
a=$('[myc="blue"] [myid="1"] [myid="3"]');
Run Code Online (Sandbox Code Playgroud)
但它不起作用,同样在这里:
a=$('[myc="blue"] && [myid="1"] || [myid="3"]');
Run Code Online (Sandbox Code Playgroud)
没有编写特殊的过滤功能可以吗?
Gab*_*abe 177
和操作
a=$('[myc="blue"][myid="1"][myid="3"]');
Run Code Online (Sandbox Code Playgroud)
或操作,使用逗号
a=$('[myc="blue"],[myid="1"],[myid="3"]');
Run Code Online (Sandbox Code Playgroud)
正如@Vega评论的那样:
a=$('[myc="blue"][myid="1"],[myc="blue"][myid="3"]');
Run Code Online (Sandbox Code Playgroud)
Fel*_*ing 16
使用多重选择器[docs](OR)简单地使用.filter()
[docs](AND ):
$('[myc="blue"]').filter('[myid="1"],[myid="2"]');
Run Code Online (Sandbox Code Playgroud)
一般来说,链接选择器,就像a.foo.bar[attr=value]
某种AND选择器.
jQuery有关于受支持选择器的大量文档,值得一读.
Sel*_*gam 10
如何编写如下所示的过滤器,
$('[myc="blue"]').filter(function () {
return (this.id == '1' || this.id == '3');
});
Run Code Online (Sandbox Code Playgroud)
编辑: @Jack谢谢..完全错过了..
$('[myc="blue"]').filter(function() {
var myId = $(this).attr('myid');
return (myId == '1' || myId == '3');
});
Run Code Online (Sandbox Code Playgroud)
选择器中的and运算符只是一个空字符串,or运算符是逗号.
但是没有分组或优先级,因此您必须重复以下条件之一:
a=$('[myc=blue][myid="1"],[myc=blue][myid="3"]');
Run Code Online (Sandbox Code Playgroud)
首先找到在所有情况下发生的条件,然后过滤特殊条件:
$('[myc="blue"]')
.filter('[myid="1"],[myid="3"]');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
143743 次 |
最近记录: |