我在.HTML文件中获得了下表。
<tr>
<td><div id="number1"> 1 </div></td>
<td><div>+</div></td>
<td><div id="number2"> 2 </div></td>
</tr>
在不更改.HTML文件中的任何内容的情况下,我需要添加数字1和数字2以通过.js文件获得结果。
我出来了以下内容:
$(document).ready(function () {
var num1 = document.getElementById("number1").getAttribute.value;
var num2 = document.getElementById("number2").getAttribute.value;
var sum = num1 + num2;
alert(num1);
alert(num2);
alert(sum);
}):
我将num1视为未定义,将num2视为未定义,我得到的总和为NaN。
如何获取div id的值并将它们加在一起以获得结果?
答案 0 :(得分:2)
使用jQuery,您可以获取每个td的text()
并使用parseInt()
$(document).ready(function() {
var num1 = $('#number1').text();
var num2 = $('#number2').text();
var sum = parseInt(num1) + parseInt(num2);
alert('sum is: ' + sum);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td><div id="number1"> 1 </div></td>
<td><div>+</div></td>
<td><div id="number2"> 2 </div></td>
</tr>
</tbody>
</table>
&#13;
答案 1 :(得分:2)
value
上没有属性div
,而是使用innerHTML
。
var num1 = document.getElementById("number1").innerHTML;
var num2 = document.getElementById("number2").innerHTML;
var sum = parseInt(num1) + parseInt(num2);
alert(sum);
然后您需要使用parseInt
,因为innerHTML
(和.value
也会)返回字符串。 JS中的'1' + '2'
为'12'
,而不是您需要的3个。
答案 2 :(得分:0)
试试这个......
<tr>
<td><div id="number1"> 1 </div></td>
<td><div>+</div></td>
<td><div id="number2"> 2 </div></td>
</tr>
<script>
$(document).ready(function(){
var docnumbers = new Array();
var num1 = $("#number1").html();
docnumbers.push(num1);
var num2 = $("#number2").html();
docnumbers.push(num2);
var answerValue = 0;
for(i=0; i < docnumbers.length; i++)
{
answerValue += parseInt(docnumbers[i]);
}
alert(answerValue);
});
</script>