我有像这样的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”?
谢谢!!答案 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(/*....*/);
}
});
}