jQuery将字段值转换为锚标记

时间:2015-05-29 10:54:17

标签: javascript php html

所以我在我写的网络应用程序中遇到了一个非常奇怪的错误。如果我在计算机(windows / linux / ios)上运行它比没有这个问题。但是,当我在iPhone或iPad上运行时,我会在特定位置获得ls|grep

所以我想计算一个给定值的百分比。这就是我捕获js中的NaN字段的方式:

td

非常标准。然后,为了计算百分比,我使用:

var total_vend = document.getElementById("tot_vend").innerHTML;
var max_production = document.getElementById("tot_max").innerHTML;

这是棘手的地方。我有4个地方在这里运行(4个不同的帐户有不同的值)。只有一次会议我得到num = Math.floor(total_vend / max_production * 100); text = num + "%"; //allows me to had the percentage symbol to the number

我已经NaN同时alert()total_vend以及max_production我有正确的值,但是在total_vend我得到了一个锚标记:max_production及其包含的值是我计算百分比所需的值。

读取值的<a href="tel:1367520">1367520</a>

table

有人可以向我解释我的代码到底发生了什么吗?就像我说的那样,只有当我使用iPhone或iPad访问我的网络应用程序中的特定帐户时才会发生这种情况。

3 个答案:

答案 0 :(得分:2)

我猜您应该将其更改为.textContent

var max_production = document.getElementById("tot_max").textContent.trim();

这里有一个简单的测试:

var a = document.getElementById('phone').textContent.trim();

alert(a);
<div id='phone'><a href="tel:1367520">1367520</a></div>

作为旁注,我会说你应该修剪()删除前导/尾随空格的值。

答案 1 :(得分:1)

var total_vend = document.getElementById("tot_vend").innerHTML;
var max_production = document.getElementById("tot_max").innerHTML;

这两个变量包含一个字符串。您需要将它们的值转换为如下所示的整数:

var total_vend = parseInt(document.getElementById("tot_vend").textContent);
var max_production = parseInt(document.getElementById("tot_max").textContent);

此外,如果max_produtions等于0,则除法将失败(不能除以0)。一定要处理这种可能性;)

答案 2 :(得分:0)

使用以下代码获取从td

获取的值
var total_vend = document.getElementById("tot_vend").innerHTML;
total_vend = parseInt(total_vend);
var max_production = document.getElementById("tot_max").innerHTML;
max_production = parseInt(max_production);