【发布时间】:2017-03-28 13:20:46
【问题描述】:
尝试使用extractAssets();实现以下目标
- 单击
.clickable时,将资产(lists[i].assets)本身的值提取为0(类似于lists[i].assets - lists[i].assets)。
如您所见,我不是在提取,而是在执行 .html("$0"),因此需要动态提取。
感谢您的工作小提琴示例,谢谢。
var list1 = {
id: 7,
assets: 74651.90,
ratePercent: 0.02,
rateUSD: 24.03
};
var list2 = {
id: 8,
assets: 86735.79,
ratePercent: -0.06,
rateUSD: 2.41
};
var lists = [list1, list2];
$(document).ready(function() {
show();
extractAssets();
});
function extractAssets() {
for (var i = 0; i < lists.length; i++) {
//var text = $(".coin" + [i]).text();
$(".clickable" + [i]).click(function() {
//$(".coin" + [i]).text(text == $(this).text() - $(this).text() ? $(this).text() - $(this).text() : $(this).text());
$(this).find(".coin").html("$0");
//$(".coin" + [i]).text(text == $(this).text() ? "$0" : $(this).text());
})
}
}
function show() {
for (var i = 0; i < lists.length; i++) {
$(".DataContent").append('<div class="clickable' + [i] + '"><p class="data">' + lists[i].id + '</p><ul><li class="coin">$' + lists[i].assets + '</li><li class="rate"><span class="ratePercent">' + lists[i].ratePercent.toFixed(2) + '%</span> / <span class="rateUSD">$' + lists[i].rateUSD.toFixed(2) + '</span></li></ul></div>');
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section class="DataContent"></section>
【问题讨论】:
-
你能解释一下你到底想达到什么目标吗……现在还不清楚
-
在这种情况下我很抱歉,它基本上与小提琴中的行为完全相同,但不是在点击时通过 .html("$0") 设置它,而是最好提取点击的资产本身(例如单击 $86735.79 以相同的金额($86735.79)提取它,这将导致 0)
-
请在此处发布您的代码,而不仅仅是在 jsfiddle。使用Stack Snippet
-
@Barmar,我添加了代码,希望有帮助吗?感谢您的宝贵时间。
标签: jquery arrays loops object extraction