如何使用jQuery选择这些嵌套标签

时间:2012-10-04 07:39:24

标签: jquery

如何使用相同的代码找到这两个例子。

<div>
  <div>
    <span class='example-1'></span>
  </div>
  <ul class='find-me'> <!-- find this for example 1 -->

    <li>
      <span></span>
      <ul class='find-me'></ul>
    </li>

    <!-- Any number of li tags here -->

    <li>
      <span class='example-2'></span>
      <ul class='find-me'></ul>  <!-- find this for example 2 -->
    </li>

    <!-- Any number of li tags here -->

  </ul>
</div>

鉴于我有例如-1和示例2的jQuery对象,如何为这两个示例编写相同的选择器?有可能吗?

我不能只做selector.parent()。find(“。find-me”),因为这对第一个例子不起作用。 我不能做selector.parent()。parent()。find(“。find-me:first”)因为这会在第二个例子中选择错误的find-me。

我需要以某种方式说去祖父母,然后去你开始的地方,找到下一个找我的课程。

编辑:到目前为止,答案似乎都是误解。必须只有一个选择器适用于这两个示例,并且选择器必须相对于表示示例范围的jQuery对象。

4 个答案:

答案 0 :(得分:2)

这是我能想到的最好的:

var $example1 = $(".example-1");
var $example2 = $(".example-2");

$example1.add($example1.parents()).siblings('.find-me').css("color", "red");
$example2.add($example2.parents()).siblings('.find-me').css("color", "blue");​

演示:http://jsfiddle.net/HNfpM/3/

答案 1 :(得分:0)

第一个例子是

$('.find-me')[0] 第二个例子$('.find-me')[2]

答案 2 :(得分:0)

$("div span, li span")怎么样,或者你可以使用css3选择器:[att ^ = val] http://www.w3.org/TR/css3-selectors/ 我会实际使用css3选择器。我在评论

上添加了一个工作演示

答案 3 :(得分:0)

$('div > ul.find-me'); <!-- find this for example 1 -->



$('div > ul > li > ul.find-me'); <!-- find this for example 2 -->