我有这样的 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”?
谢谢你!!
假设您的意思是在 上的事件处理程序中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");
// ...
});
从您下面的评论中:
这与我的情况有点不同:标签有一个 onClick 函数,它调用 jquery-ajax 调用;在 ajax 响应中,我必须调用更改 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(/*....*/);
}
});
}