Jquery:当两个或多个条件为true时,选择一个元素

Jquery: select an element when two or more conditions are true

本文关键字:true 选择 一个 元素 两个 Jquery 条件      更新时间:2023-09-26

我有一个类似的元素

 <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>

现在我想选择一个数据id=45,数据ud=322的元素。我试过了,但没用。

提前感谢

要在选择器中使用"and",只需不使用任何其他分隔符,例如limyclass类为:

li.myclass

要按属性查找,请使用[attribute=x],以便将两者结合起来:

li[data-id=45][data-ud=322]

或者,使用jquery:

$("li[data-id=45][data-ud=322]")

这可能很难阅读,并且容易出错,例如,两个[][]之间的空格将给出完全不同的结果,因此您可以使用filter来获得相同的效果:

$("li").filter("[data-id=45]").filter("[data-ud=322]")

Fiddle示例:https://jsfiddle.net/o9fdhphf/

尝试以下操作:

$('li[data-id=45][data-ud=322 ]');
$("[data-ud=322][data-id=45]").text()

$("[data-ud=321] + [data-id=45]").text()

JSFiddle