html - 为什么我的 insertBefore() 只添加 1 个元素?
问题描述
我有一个功能,当单击按钮时,卡片显示在第一张卡片之后。但是当我再次单击该按钮时,它不起作用,并且控制台中没有显示错误。
**
$(function() {
var $budget = $('<div class="card-single"> <div class="card-body"> <span class="fas fa-coins"></span> <div> <h5>{{ date_posted }}</h5> <h4>$30,659.45</h4> </div> </div> <div class="card-footer"> <a href="">Add Expenses</a> </div> </div>')
$('.add-budget').on('click', function() {
$budget.insertBefore('.card-single:last');
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" charset="utf-8"></script>
<main>
<div class="head">
<h2 class="dash-title">Budgets</h2>
<button class="add-budget">Add Budget</button>
</div>
<div class="dash-cards">
<div class="card-single">
<div class="card-body">
<span class="fas fa-coins"></span>
<div>
<h5>{{ date_posted }}</h5>
<h4>$30,659.45</h4>
</div>
</div>
<div class="card-footer">
<a href="">Add Expenses</a>
</div>
</div>
</div>
</main>
**
我尝试使用 before()、prependTo()、appendTo() 和 insertAfter(),但它具有相同的输出。
解决方案
您只创建了一个.card-single
元素,在$budget
- 每当单击按钮时,单个元素将被插入到新位置并从其先前位置(如果有)删除。而是在处理程序内创建元素。
$('.add-budget').on('click', function() {
var $budget = $('<div class="card-single"> <div class="card-body"> <span class="fas fa-coins"></span> <div> <h5>{{ date_posted }}</h5> <h4>$30,659.45</h4> </div> </div> <div class="card-footer"> <a href="">Add Expenses</a> </div> </div>')
$budget.insertBefore('.card-single:last');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<main>
<div class="head">
<h2 class="dash-title">Budgets</h2>
<button class="add-budget">Add Budget</button>
</div>
<div class="dash-cards">
<div class="card-single">
<div class="card-body">
<span class="fas fa-coins"></span>
<div>
<h5>{{ date_posted }}</h5>
<h4>$30,659.45</h4>
</div>
</div>
<div class="card-footer">
<a href="">Add Expenses</a>
</div>
</div>
</div>
</main>
推荐阅读
- google-cast - 自定义 chrome cast 环境壁纸插件
- python - 如何在熊猫中创建事件的二维数据框网格
- c++ - 双向链表c ++中[]运算符的问题
- tuples - OCaml - Base 导致元组解构问题
- php - 使用 str_replace 的 Wordpress
- php - 强制用户在进入结账页面之前计算出货量或选择一种方法
- byobu - 命令 byobu-quiet 有什么影响
- python - 不使用递归将嵌套字典解开为简单字典
- continuous-integration - 在侦听 development_status 事件时,如何对 GitHub 操作使用依赖项缓存?
- javascript - 我想为菜单创建波浪背景