将var设置为嵌套的HTML元素文本值

时间:2016-07-06 19:28:51

标签: javascript jquery

所以我想得到"嵌套"的价值来自" toplevel"并从" total"中减去它。我确信我的代码效率很低,原谅我。

HTML:

  <span class="toplevel"> 
    Clickable
    <span class="nested"> 50 </span>
</span> <br>

All put together is...
<div id="total">
  9999
</div>

JS:

$(document).ready(function() {
  var totalcp = parseInt("9999", 10);
  $('#total').text(totalcp).toString();
  $('.toplevel').click(function() {
      var cpcost = ('.nested');
    totalcp = totalcp - cpcost; 
    $('#total').text(totalcp).toString();
  });
});

我的主要问题是:

var cpcost = ('.nested');

我知道我只是错过了一些愚蠢的东西!!!!提前谢谢。

Codepen link - 上面的组合,问题是,var cpcost没有得到&#34;嵌套&#34;值。如果用平号替换它可以正常工作。

1 个答案:

答案 0 :(得分:3)

  

您忘记在以下代码中添加$

var cpcost = ('.nested');

用以下代码替换它应该起作用:

var cpcost =parseInt( $(this).find('.nested').text() );

要在当前点击的范围(.nested)中查找.toplevel,您只需使用$(this)即可。通过执行此操作,您可以将查询限制为单击的元素。另外,要查找特定元素,您可以在jQuery中使用find函数。