如何对jQuery属性执行OR搜索?
我有一堆具有一些自定义属性的如何对jQuery属性执行OR搜索?,jquery,jquery-selectors,jquery-attributes,Jquery,Jquery Selectors,Jquery Attributes,我有一堆具有一些自定义属性的li项: <ul> <li count="1">foo</li> <li count="1">foo1</li> <li count="*">foo2</li> <li>foobar</li> <li count="0">bar2</li> <li count="*">bar3</li> &
li
项:
<ul>
<li count="1">foo</li>
<li count="1">foo1</li>
<li count="*">foo2</li>
<li>foobar</li>
<li count="0">bar2</li>
<li count="*">bar3</li>
</ul>
foo
- foo1
- foo2
- 福巴
- bar2
- bar3
我想选择那些属性count
值为1或0的li
元素。我可以在不执行两个选择的情况下执行此操作吗
我可以看到如何执行AND选择以缩小结果范围(例如,$([li[count='0'][otherAttr='blah']])…
)。但我不确定你是否可以执行一个或多个选择
提前感谢您的帮助 使用逗号
$("li[count='0'], li[otherAttr='blah']")....
用逗号
$("li[count='0'], li[otherAttr='blah']")....
你能不能用
li[count*='01']
?你能不能用li[count*='01']
?你可以用很多方法,但你需要用逗号:
$("li[count='0'], li[count='1']")...
或者,我喜欢的方法
$("li").filter("[count='1'], [count='0']")...
您可以使用多种方法,但需要使用逗号:
$("li[count='0'], li[count='1']")...
或者,我喜欢的方法
$("li").filter("[count='1'], [count='0']")...
你为什么喜欢那样?它只是让你读起来更干净,还是有性能优势?它只是让你读起来更干净。我只是对它进行了基准测试,通过不使用过滤器,(方法1),实际上可以保存一些函数调用。但是如果您有一个带有非特定选择器的大型DOM,那么使用filter(方法2)会更快(当然是稍微快一点)。谢谢。这是一个有趣的观点。那有帮助。你为什么喜欢那样?它只是让你读起来更干净,还是有性能优势?它只是让你读起来更干净。我只是对它进行了基准测试,通过不使用过滤器,(方法1),实际上可以保存一些函数调用。但是如果您有一个带有非特定选择器的大型DOM,那么使用filter(方法2)会更快(当然是稍微快一点)。谢谢。这是一个有趣的观点。这很有帮助。使用
[attribute*='string']
将选择具有“包含”字符串属性的项目,而不是包含每个字母的属性:s、t、r、i、n、g。使用[attribute*='string']
将选择具有“包含”字符串属性的项目,而不是包含每个字母的属性:s、t、r、,i,n,g。