在附加元素[jQuery]中找到最接近的div

时间:2019-01-23 04:29:32

标签: jquery html append

我试图通过单击也已添加的锚点在附加的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。

1 个答案:

答案 0 :(得分:0)

.closest()像寻找父母一样在树上工作,因此在您的情况下该树不起作用,因为该元素在祖先树中不在其旁边。

  

对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先,获得与选择器匹配的第一个元素。

使用.next()作为名称表明寻找下一个元素。

  

获取匹配的元素集中每个元素的紧随其后的同级元素。如果提供了选择器,则只有与该选择器匹配时,它才会检索下一个同级。

$('body').on('click', 'a', function() {
  $(this).next('.show-data').html('hello');
});

Working Demo