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

时间:2016-05-10 10:40:55

标签: javascript jquery

我有一个像这样的元素

 <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的元素。我试过了,但它没有用。

提前致谢

3 个答案:

答案 0 :(得分:5)

要在选择器中使用'和',只需不要使用任何其他分隔符,例如li和类myclass将是:

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]")

小提琴示例:https://jsfiddle.net/o9fdhphf/

答案 1 :(得分:2)

尝试以下方法:

...
UISelectItems selectItemsComponent = new UISelectItems();
selectItemsComponent.setValue(selectItems);
nextQuestionDropDown.getChildren().add(selectItemsComponent);
...

答案 2 :(得分:0)

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

OR

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

JSFiddle