[英]jQuery converts <td> field value into anchor tag
所以我在我寫的網絡應用程序中遇到了一個非常奇怪的錯誤。 如果我在計算機(windows / linux / ios)上運行它比沒有這個問題。 但是,當我在iPhone或iPad上運行時,我會在特定的地方獲得NaN
。
所以我想計算一個給定值的百分比。 這是我捕獲js中的td
字段的方法:
var total_vend = document.getElementById("tot_vend").innerHTML;
var max_production = document.getElementById("tot_max").innerHTML;
很標准。 然后,為了計算百分比,我使用:
num = Math.floor(total_vend / max_production * 100);
text = num + "%"; //allows me to had the percentage symbol to the number
這是它變得棘手的地方。 我有4個地方在這里運行(4個不同的帳戶有不同的值)。 只有一次會議我得到了NaN
。
我已經alert()
total_vend
和max_production
以及total_vend
我有正確的值,但是在max_production
我得到一個錨標記: <a href="tel:1367520">1367520</a>
及其包含的值這是我計算百分比所需的價值。
讀取值的table
:
<table id="totais_ano">
<tr>
<th>TProd</th>
<th>TVend</th>
<th>TMax</th>
<th>TPass</th>
</tr>
<tr>
<td id="tot_prod"><?php echo $total_prod; ?></td>
<td id="tot_vend"><?php echo $total_vend; ?></td>
<td id="tot_max"><?php echo $total_max; ?></td>
<td id="tot_vend_passado"><?php echo $total_pass; ?></td>
</tr>
</table>
任何人都可以向我解釋我的代碼到底發生了什么? 就像我說的那樣,只有當我使用iPhone或iPad訪問我的網絡應用程序中的特定帳戶時才會發生這種情況。
我想你應該把它.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>
作為旁注我會說你應該修剪()刪除前導/尾隨空格的值。
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)。 一定要處理這種可能性;)
使用以下代碼獲取從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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.