我真的不明白为什么我有NaN的结果

时间:2018-01-06 17:05:17

标签: javascript jquery html

我试图获得td的价值。但我真的不明白为什么我有NaN值,但如果我改变blueJeansPrice = 1000和blueJeansQty = 10的值,在脚本上它会成功提醒我总数。

HTML:

<thead>
  <tr>
    <th>Product Name</th>
    <th>Price</th>
    <th>Quantity</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td id="blueJeans" value="Blue Jeans">Blue Jeans</td>
    <td id="blueJeansPrice" value="1000">1000</td>
    <td id="blueJeansQty" value="10">10</td>
  </tr>
</tbody>

<button id="submit" class="btn btn-primary">Show Report</button>

JS:

    $("#submit").on("click", function(){
    var blueJeansPrice = parseInt($('#blueJeansPrice').val());
    var blueJeansQty = parseInt($('#blueJeansQty').val());
    var blueJeansTotal = blueJeansPrice * blueJeansQty;

    alert(blueJeansTotal);
})

2 个答案:

答案 0 :(得分:4)

HTML元素<td>不支持value属性。此属性仅在input元素中使用。

当您尝试通过val()访问它时,jQuery尝试使用原生javascript访问元素.value,但它不会在那里(因为它不是{ {1}})。

如果您需要在代码中包含该值,并且您不希望使用HTMLInputElement获取该代码,则可以尝试添加innerHTML并使用data-value="1000"获取该值。

答案 1 :(得分:1)

使用$ ele.html()

var blueJeansPrice = parseInt($('#blueJeansPrice').html())