Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript text()返回NaN,这是为什么?_Javascript_Jquery - Fatal编程技术网

Javascript text()返回NaN,这是为什么?

Javascript text()返回NaN,这是为什么?,javascript,jquery,Javascript,Jquery,使用条件检查 试试这个 <span id="itemtotal_0">16</span> $('span#pricetotal')。文本(函数(){ var=0; 对于(变量i=0;i

使用条件检查

试试这个

<span id="itemtotal_0">16</span>
$('span#pricetotal')。文本(函数(){
var=0;
对于(变量i=0;i<15;i++){
如果($('span#itemtottal_u'+i).text()!=“”){/它工作得很好:

$('span#pricetotal')。文本(函数(){
var=0;
对于(var i=0;i<15;i++){
val+=parseInt($('span#itemtottal_uu'+i).text());
};
返回val;
});
请检查您的itemtotal跨度是否以
itemtotal\u 0
开头,而不是
itemtotal\u 1

可能是它试图查找
span#itemtotal\u 0
,但它不存在。请仔细检查。

$('#pricetotal')。text(函数(){
$('span#pricetotal').text(function() {
    var val = 0;
    for (var i = 0; i < 15; i++) {        
        val +=parseInt($('span#itemtotal_' + i).text());

    };
    return val;
});
var=0; 对于(var i=0;i<14;i++){ var值=$.trim($('span#itemtottal_uu'+i).text()); val+=parseInt($.isNumeric(value)?值:0); }; 返回val; });

注意:


如果您的span包含任何
空格
非数字
数据,这是安全的。在演示中,您会发现其中一个
span
有字母
a
,显示您的HTML对于这类问题很重要。最有可能的是
parseInt($('span#itemtotal.+i).text()
在某个点返回NAN。parseInt无法分析$('span#itemtottal_uu'+i)返回的值。text()作为一个整数。值是什么?你可能在其中有一个货币字符,尽管人们能做的最好的事情是猜测。你能提供一个HTML的示例吗?这种类型的基本调试将是添加
console.log($('span#itemtotal u'+i.text());console.log(parseInt($('span#itemtotal'+i.text()))
在循环中,看看它是什么样子。这一个可以做到这一点,但我在以前的代码中确实没有看到任何空格。非常感谢。
$('span#pricetotal').text(function() {
  var val = 0;
   for (var i = 0; i < 15; i++) {
      if($('span#itemtotal_' + i).text() != ""){  // <-- check if not empty since empty gives Nan when used pareseInt
        val += parseInt($('span#itemtotal_' + i).text());

      }
   };
 return val;
});
for (var i = 0; i < 15; i++) {
    val += parseInt($('span#itemtotal_' + i).text()) || 0;
 }
$('span#pricetotal').text(function() {
    var val = 0;
    for (var i = 0; i < 15; i++) {        
        val +=parseInt($('span#itemtotal_' + i).text());

    };
    return val;
});
$('#pricetotal').text(function() {
    var val = 0;
    for (var i = 0; i < 14; i++) {        
        var value = $.trim($('span#itemtotal_' + i).text());
        val +=parseInt( $.isNumeric(value) ? value : 0);
    };
    return val;
});