Jquery 如何在多个属性值上选择元素

Jquery 如何在多个属性值上选择元素,jquery,Jquery,使用jQuery,可以很容易地选择具有给定属性值的元素 例如: var elements = $('div[attr1="value1"]'); 但是我如何选择多个属性(例如,attr1=value1和attr2=value2)?例如,您可以这样链接和筛选 var elements = $('div[attr1="value1"]').filter('div[attr2="value2"]'); 由于jquery使用CSS选择器,根据CSS规范的定义,具有多个条件的选择器如下所示: $('d

使用jQuery,可以很容易地选择具有给定属性值的元素

例如:

var elements = $('div[attr1="value1"]');

但是我如何选择多个属性(例如,
attr1=value1
attr2=value2
)?

例如,您可以这样链接和筛选

var elements = $('div[attr1="value1"]').filter('div[attr2="value2"]');

由于jquery使用CSS选择器,根据CSS规范的定义,具有多个条件的选择器如下所示:

$('div[attr1="value1"][attr2="value2"]')

更多参考请参见CSS规范:

要选择多个属性,请参见下面的代码

此代码将查找具有
id
属性且其name属性以“man”结尾的所有输入,并设置值

$( "input[id][name$='man']" ).val( "this input has id and name ends with 'man'" );

我觉得这个解决方案很简单

$('[attr1="home"][attr2="settings"]')

重复的问题帮助文档。@JitendraPancholi:你从哪里得到这个想法的?我引用了支持我声明的文件中的确切位置。如果你要反驳我说的话(并投票否决我),我至少希望你能有礼貌地引用一些官方的东西。我在我的项目中尝试了你的代码,但发现它不起作用。我实际上是这样做的,没有任何其他参考。$('div[attr1=“value1”]”)。filter('div[attr2=“value2”]”);这段代码很有魅力。@JitendraPancholi:所以在7年的时间里,31000次浏览,59次投票,你是第一个说这个答案是错误的人。您能解释一下吗?jQuery文档清楚地说“匹配匹配所有指定属性过滤器的元素”,所以它是AND而不是OR,这是正确的答案@以上DanielLiuzzi的表演是正确的AND@Geek当我添加我的评论时,它是不正确的。鉴于答案已被编辑和修复,我将删除评论以避免任何混淆。