Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 从页面读取值并使用jquery返回错误值_Javascript_Jquery - Fatal编程技术网

Javascript 从页面读取值并使用jquery返回错误值

Javascript 从页面读取值并使用jquery返回错误值,javascript,jquery,Javascript,Jquery,在我的html页面中,我有下面的div,正在进行一些格式化 <div class="diffhrs"> <span class="lbl">Hours Left: </span> <span class="data">@String.Format("{0:0.0#}", Model.DiffHours)</span> </div> 你知

在我的html页面中,我有下面的div,正在进行一些格式化

        <div class="diffhrs">
              <span class="lbl">Hours Left: </span>
              <span class="data">@String.Format("{0:0.0#}", Model.DiffHours)</span>
        </div>
你知道发生了什么事吗?03是从哪里来的

var productionhourcentered=parseFloat($('div.diffhrs.data').text();
console.log(ProductionHourCenter)

剩余时间:
@String.Format(“{0:0.0}”,Model.DiffHours)

尝试向parseFloat方法添加基数,以确保返回的是十进制值

parseFloat('3.0',10);

问题是您有多个元素与
'div.diffhrs.data'
匹配,如果对它们调用
.text()
,jQuery将连接它们的内容。您基本上会得到类似于
“3.03.04.05.0”
;将其解析为float将给出
3.03

解决方法是使用

parseFloat($('div.diffhrs .data').eq(0).text());

您提供的代码返回“3”-为了更好地回答您的问题,我们需要更多的上下文。您是否有此页面的实际工作(例如,JSFIDLE)?此ProductionHourCenter上方是否有可能修改编号的行?太多的未知数无法重现。这个问题可能与您使用的模板引擎有关,您甚至没有标记它。这个问题无法回答,因为大多数程序员都不是读心术的人。把它放在JSFIDLE上可能有点难。我可以检查上面的行。你确定span.data的值是3.0吗?没有对你的答案投反对票,但是:我投了反对票,因为它不能解决问题,因此没有经过测试。你怎么知道它没有经过测试?它确实有效。它只是不能解决人的问题,因为这不是问题的原因,如果没有更多的源代码信息,我不可能知道。假设他想要第一个。否则,他可能应该修改jQuery选择器,使选择更加具体。这个解决方案解决了这个问题。“非常感谢。”塔勒敏说得对。假设这是不言而喻的。
parseFloat('3.0',10);
parseFloat($('div.diffhrs .data').eq(0).text());