我试图通过单击也已添加的锚点在附加的div中显示一些数据。
HTML
<body>
<div class="container">
<br><append></append><br>
<button class="btn btn-primary" style="margin-top: 15">add</button>
</div>
</body>
jQuery
$('button').on('click', function(){
$('append').append('<a href="#">click me</a><div class="show-data"></div><br>');
});
$('body').on('click', 'a', function(){
$(this).closest('.show-data').html('hello');
})
您可以在这里https://jsfiddle.net/vkuzdgsL/
尝试所以我的目标是在<div class="show-data"></div>
中显示 hello 字词,但使用$(this).closest('.show-data')
函数似乎不起作用。如果我将.show-data
替换为div
,它将检测到父div。
答案 0 :(得分:0)
.closest()像寻找父母一样在树上工作,因此在您的情况下该树不起作用,因为该元素在祖先树中不在其旁边。
对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先,获得与选择器匹配的第一个元素。
使用.next()作为名称表明寻找下一个元素。
获取匹配的元素集中每个元素的紧随其后的同级元素。如果提供了选择器,则只有与该选择器匹配时,它才会检索下一个同级。
$('body').on('click', 'a', function() {
$(this).next('.show-data').html('hello');
});