为了账号安全,请及时绑定邮箱和手机立即绑定

jquery匹配多个数据组(仅当它们都为真时)

jquery匹配多个数据组(仅当它们都为真时)

慕尼黑5688855 2023-10-20 16:22:38
我有元素的数据组data-foo data-bar我想要一个 jquery 选择器来选择 foo 和 bar 都匹配的项目,例如$("[data-foo='blah'],[data-bar='quax']")将选择其中的元素data-foo = 'blah'和data-bar='quax'看来现在我得到的结果是data-foo=blahOR data-bar=quax。我需要这个是data-foo=blahANDdata-bar=quax
查看完整描述

2 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

把逗号去掉就行了 本质上,这是一个 OR 选择器。如果没有逗号,它会同时查找两者。


console.log($("[data-foo='blah'],[data-bar='quax']").length) // 3 = not what you want 

console.log($("[data-foo='blah'][data-bar='quax']").length) // 1 = what you want

console.log($("[data-foo='blah'][data-bar='quax']").html()) // Just to make sure its the right one

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<div data-foo="blah" data-bar="quax">Both</div>

<div data-foo="blah">Foo</div>

<div data-bar="quax">Bar</div>


查看完整回答
反对 回复 2023-10-20
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

另一种可能的解决方案是使用过滤器:

$("[data-foo='blah']").filter("[data-bar='quax']")



查看完整回答
反对 回复 2023-10-20
  • 2 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信