javascript - 查找最接近的元素并在元素之前插入

标签 javascript jquery html dom

我有三个按钮,它们克隆一个 div,它会在单击按钮之前显示 div。当前,当单击一个按钮时,div 将出现在所有三个按钮之前。我需要单击按钮以仅在单击的按钮之前插入该 div

var toAppend = $('#appendFullWidthAll').children();

$('#showContent').click(function() {
  toAppend.clone().insertBefore('.show');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div id="appendFullWidthAll" class="d-none">
  <ul>
    <li>Test Content</li>
    <li>Test Content</li>
    <li>Test Content</li>
    <li>Test Content</li>
  </ul>
</div>

<div class="1">
  <a class="btn btn-primary show" id="showContent">Click Here</a>
</div>

<div class="2">
  <a class="btn btn-primary show" id="showContent">Click Here</a>
</div>

<div class="3">
  <a class="btn btn-primary show" id="showContent">Click Here</a>
</div>

最佳答案

任何具有 show 类的元素之前插入,这是您的主要问题。解决方案是使用 $(this) 选择器捕获您单击的元素,如下所示:

$('.btn').click(function() {
    toAppend.clone().insertBefore($(this));
});

关于javascript - 查找最接近的元素并在元素之前插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53735429/

相关文章:

javascript - 固定顶部 div 和底部可滚动 div

jquery - Bootstrap - 在导航栏中更改事件类

html - Chrome 重影上的 CSS 过渡宽度

javascript - 嵌套 'for' 循环创建表

javascript - For 语句将 i 视为字符串而不是数字

javascript - 匹配不同工作表上两列的文本字符串并使用谷歌脚本回发

html - iText 5 可以将 PDF 转换为 HTML 吗?

javascript - Google 跟踪代码管理器以及使用触发器或标记排序

CSS 3 多列中的 jQuery offset() 方法

javascript - 显示 future 的日期和时间