单击时提取数组值 jQuery

extract array value on click jQuery

尝试通过 extractAssets();

实现以下目标

如您所见,我不是在提取而是在执行 .html("$0"),因此需要动态提取。

see JSFiddle

感谢工作 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>');
  }
}

请记住,这不会在最后格式化金额。

此致