单击jQuery提取数组值
尝试使用单击jQuery提取数组值,jquery,arrays,loops,object,extraction,Jquery,Arrays,Loops,Object,Extraction,尝试使用extractAssets()实现以下功能: 当单击.clickable提取资产(列出[i].assets)值本身为0(类似于列出[i].assets-lists[i].assets) 正如您可能看到的,我不是在提取,而是在执行一个.html($0),因此需要动态提取 工作小提琴的例子是赞赏,谢谢你 var列表1={ id:7, 资产:74651.90, 比率百分比:0.02, 费率美元:24.03 }; 变量列表2={ id:8, 资产:86735.79, 税率百分比:-0.0
extractAssets()实现以下功能:代码>
- 当单击
.clickable
提取资产(列出[i].assets)
值本身为0(类似于列出[i].assets-lists[i].assets
)
正如您可能看到的,我不是在提取,而是在执行一个.html($0),因此需要动态提取
工作小提琴的例子是赞赏,谢谢你
var列表1={
id:7,
资产:74651.90,
比率百分比:0.02,
费率美元:24.03
};
变量列表2={
id:8,
资产:86735.79,
税率百分比:-0.06,
费率美元:2.41
};
var list=[list1,list2];
$(文档).ready(函数(){
show();
提取资产();
});
功能提取资产(){
对于(变量i=0;i'+lists[i].id+'$'+lists[i].assets+' '+lists[i].ratePercent.toFixed(2)+'%/$'+lists[i].rateUSD.toFixed(2)+';
}
}
对于我来说,使用数据作为参考,而使用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>');
}
}
函数提取资产(){
$(“.clickable”)。单击(函数(){
var currentCoin=$(this.find('.coin');
变量差异=(数字($(currentCoin).text().replace('$','')-Number($(currentCoin).text().replace('$','');
$(currentCoin.html(“$”+差异);
});
}
函数show(){
对于(变量i=0;i'+lists[i].id+'$'+lists[i].assets+' '+lists[i].ratePercent.toFixed(2)+'%/$'+lists[i].rateUSD.toFixed(2)+';
}
}
请记住,这不会在最后格式化金额
关于你能解释一下你到底想达到什么目的吗..现在有点不清楚了我很抱歉,在这种情况下,这基本上与小提琴中的行为完全相同,但与其在单击时通过.html($0)进行设置,不如自己提取单击的资产(例如,单击$86735.79,提取相同数量的资产(86735.79美元)这将导致0)请在这里发布您的代码,而不仅仅是在JSFIDLE。使用@Barmar,我添加了代码,希望有帮助?感谢您的时间。谢谢您的回答,Espino先生,但这不是我想要的。另外,是的,我同意,因此我在征求建议,我更喜欢真正的提取,而不是通过.html()设置0。过得愉快。嗯,你试过代码了吗?var difference=(Number($(currentCoin).text().replace($,'')-Number($(currentCoin).text().replace($,''))
该行进行提取,而不是设置为0。您认为缺少什么?我的错,重新尝试粘贴所有内容,但似乎都正确,请给我几分钟时间完全调整它,我会将其标记为正确。感谢您的帮助和坚持:):D!没问题,很高兴为您提供帮助抱歉David,您是否有可能调整您所做的操作,但使用此更新?。它是相同的,但添加了.toFixed(2)。替换(/(\d)(?=(\d\d\d)+(?!\d))/g,“$1”,
到列表[i]。资产
以提供货币格式,因此现在您的解决方案返回$NaN。我尝试了很多调整,但是没有,谢谢!