javascript - jQuery在单击和替换时附加值
问题描述
我正在尝试将button
文本附加到,span
但它只显示button
每个.item
.
因此,无论button
单击的文本是什么,append
它都会span
将该值替换为下一个按下的button
文本,依此类推。
$(".list").on("click", ".button", function() {
var x = $(this).closest(".item");
var y = $(".button").text();
$('#value').append('(' + y + ')');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="list">
<div class="item">
<div>Item 1</div>
<button class="button">50</button>
</div>
<div class="item">
<div>Item 2</div>
<button class="button">30</button>
</div>
<div class="item">
<div>Item 3</div>
<button class="button">70</button>
</div>
</div>
<span id="value">Total:</span>
解决方案
我会像这样构建您的 html,然后定位跨度并使用.text()
. 我像这样使用标签的<span>
内部,<p>
因为如果您尝试更新整个跨度标签,它也会删除total:
文本。我还通过删除来稍微修剪一下 jquery,var x = $(this).closest(".item");
因为在这种情况下我们不需要它(不确定它的用途)。
$('#value span').text(y);
$('.button').on('click', function() {
var y = $(this).text();
$('#value span').text(y);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="list">
<div class="item">
<div>Item 1</div>
<button class="button">50</button>
</div>
<div class="item">
<div>Item 2</div>
<button class="button">30</button>
</div>
<div class="item">
<div>Item 3</div>
<button class="button">70</button>
</div>
</div>
<p id="value">Total: (<span>0</span>)</p>
推荐阅读
- typescript - 数据未正确返回
- java - 从 yaml 文件中过滤属性
- rascal - 从 KeySym 值中获取字符串值
- ssis - 查找任务的“直接输入”/SqlCommand 的 BIML PropertyName
- javascript - AWS Kendra sdk 调用不会返回结果
- sql - 有没有办法在 SQL 中复制和合并整行并为单个链接 ID 列分配新值?
- r - 根据名称将列表中的元素替换为另一个列表中的元素
- json - 带有 URL 段的 TidHttp 帖子
- javascript - AngularJS 一个 div 中的多个选择
- python - 使用 osc4py3 从 Python 发送消息?