DEMO
点击C
时如何更新B
文本?
HTML
<div class="A">
<div><span class="B">TEXT</span></div>
<div>
<div id="C" onclick="tx(this.id);">CLICK ME</div>
</div>
</div>
JQUERY
function tx (e){
$('#' + e).closest('.A').children('.B').text('SUCCESS');
}
我不明白为什么上面的 jquery 不起作用。
它应该找到最近的父级然后是子级。
最佳答案
既然您无论如何都在使用 jQuery,请以这种方式分配事件处理程序,而不是使用“onclick”属性:
$("body").on("click", "#C", function() {
$(this).closest('.A').find('.B').text('SUCCESS');
});
HTML:
<div class="A">
<div><span class="B">TEXT</span></div>
<div>
<div id="C">CLICK ME</div>
</div>
</div>
请注意,设置后,您的 fiddle 将无法工作,因为“tx”函数被配置(通过 jsfiddle 设置)位于“load”处理程序内部,因此不是全局符号。
关于javascript - CSS 使用 css 类和 javascript 查找父级的 sibling ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27551813/