jQuery:在两个或两个以上条件为真时选择一个元素 [英] Jquery: select an element when two or more conditions are true
问题描述
我有一个像这样的元素
<ul>
<li data-ud="321" data-id="42">
<li data-ud="322" data-id="42">
<li data-ud="323" data-id="42">
<li data-ud="324" data-id="42">
<li data-ud="321" data-id="43">
<li data-ud="322" data-id="43">
<li data-ud="323" data-id="43">
<li data-ud="324" data-id="43">
<li data-ud="321" data-id="44">
<li data-ud="322" data-id="44">
<li data-ud="323" data-id="44">
<li data-ud="324" data-id="44">
<li data-ud="321" data-id="45">
<li data-ud="322" data-id="45">
<li data-ud="323" data-id="45">
<li data-ud="324" data-id="45">
</ul>
现在,我想选择一个data-id = 45和data-ud = 322的元素.我已经尝试过,但是没有用.
Now I want to select a element with data-id=45 and data-ud=322. I have tried but it didn't work.
预先感谢
推荐答案
要在选择器中使用和",只需不使用任何其他分隔符,例如li
和类myclass
将是:>
To use 'and' in a selector, simply don't use any other separator, eg a li
and class myclass
would be:
li.myclass
要使用属性查找,请使用[attribute=x]
,以便将两者结合起来:
to find by attribute, use [attribute=x]
, so to combine the two:
li[data-id=45][data-ud=322]
或者,使用jquery:
or, with jquery:
$("li[data-id=45][data-ud=322]")
这可能很难阅读并且容易出错,例如两个[][]
之间的空格将给出完全不同的结果,因此您可以改用filter
达到相同的效果:
This can be difficult to read and prone to errors eg a space between the two [][]
will give a totally different result, so you can instead use filter
to the same effect:
$("li").filter("[data-id=45]").filter("[data-ud=322]")
小提琴示例: https://jsfiddle.net/o9fdhphf/
这篇关于jQuery:在两个或两个以上条件为真时选择一个元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!