单击时提取数组值 jQuery
extract array value on click jQuery
尝试通过 extractAssets();
实现以下目标
- 单击
.clickable
时,将资产 (lists[i].assets)
值自行提取为 0(类似于 lists[i].assets - lists[i].assets
)。
如您所见,我不是在提取而是在执行 .html("$0"),因此需要动态提取。
感谢工作 fiddle 示例,谢谢。
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("[=11=]");
//$(".coin" + [i]).text(text == $(this).text() ? "[=11=]" : $(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 dom 元素进行操作。我几乎不向我们推荐一种模板语言。无论如何...使用您的实际代码,这就是我要更新的内容:
function extractAssets() {
$(".clickable").click(function(){
var currentCoin = $(this).find('.coin');
var difference = (Number($(currentCoin).text().replace('$','')) - Number($(currentCoin).text().replace('$','')));
$(currentCoin).html('$' + difference);
});
}
function show() {
for (var i = 0; i < lists.length; i++) {
$(".DataContent").append('<div class="clickable"><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>');
}
}
请记住,这不会在最后格式化金额。
此致
尝试通过 extractAssets();
- 单击
.clickable
时,将资产(lists[i].assets)
值自行提取为 0(类似于lists[i].assets - lists[i].assets
)。
如您所见,我不是在提取而是在执行 .html("$0"),因此需要动态提取。
感谢工作 fiddle 示例,谢谢。
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("[=11=]");
//$(".coin" + [i]).text(text == $(this).text() ? "[=11=]" : $(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 dom 元素进行操作。我几乎不向我们推荐一种模板语言。无论如何...使用您的实际代码,这就是我要更新的内容:
function extractAssets() {
$(".clickable").click(function(){
var currentCoin = $(this).find('.coin');
var difference = (Number($(currentCoin).text().replace('$','')) - Number($(currentCoin).text().replace('$','')));
$(currentCoin).html('$' + difference);
});
}
function show() {
for (var i = 0; i < lists.length; i++) {
$(".DataContent").append('<div class="clickable"><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>');
}
}
请记住,这不会在最后格式化金额。
此致