jQuery:在两个或两个以上条件为真时选择一个元素 [英] Jquery: select an element when two or more conditions are true

查看:68
本文介绍了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的元素.我已经尝试过,但是没有用.

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

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆