使用Jquery导航DOM树(label-class-div)

时间:2013-07-14 18:55:55

标签: jquery html css dom

我有像这样的DOM结构

div id=1
  div id=2
    div class=a
       label

  div id=3

  div id=4
    span class=aa
    span class=bb
    span class=cc

现在,通过“标签”中的调用,我想改变“cc”类的CSS;我想通过DOM树访问它,因为“id = 1”div被迭代N次:我如何使用jquery访问“cc”?

谢谢!!

1 个答案:

答案 0 :(得分:0)

假设您指的是label上的事件处理程序,您可以使用parent().parent().parent().find(".cc"),如下所示:

$("selector for the label").click(function() {
    var cc = $(this).parent().parent().parent().find(".cc");
    // ...
});

如果您可以将一个类添加到该顶级div(使用id=1),那将更清晰:

$("selector for the label").click(function() {
    var cc = $(this).closest(".top-level").find(".cc");
    // ...
});

根据您的评论:

  

它与我的情况略有不同:标签有一个调用jquery-ajax调用的onClick函数;在ajax响应中我必须调用change css函数。

在标记中使用onxyz属性相当老套,但如果您愿意,仍然可以使用它,只需确保将this传递给您调用的函数:

<label onclick="doSomething(this)">...</label>

function doSomething(label) {
    var cc = $(label).parent().parent().parent().find(".cc");
    $.ajax({
        /*...misc params...*/
        success: function() {
            cc.css(/*....*/);
        }
    });
}