jQuery从html单元格中读取值

时间:2012-07-27 21:54:04

标签: javascript jquery

我想知道从jQuery中的html表中读取值的正确方法是什么? 这是我的HTML代码:

<table>
<tr>
<td id="final">[['1.48E+02', '1.79E+03', '2.16E+04', '2.61E+05', '3.15E+06', '3.81E+07', '4.60E+08', '5.56E+09', '6.72E+10', '8.12E+11'], ['1.20E+01', '1.48E+02', '1.79E+03', '2.16E+04', '2.61E+05', '3.15E+06', '3.81E+07', '4.60E+08', '5.56E+09', '6.72E+10']]</td>
</tr>
</table>

jquery选择器:

var s1 = $.parseJSON($('#final').text());
// I have tried .val(), .html(), but those did not work.

但是,如果我的HTML是以这种方式编写的,那么jquery代码可以工作:

<table>
<tr>
<td id="final">[[148.0, 1788.0, 21604.0, 261036.0, 3154036.0, 38109468.0, 460467652.0, 5563721292.0, 67225123156.0, 812265199164.0], [12.0, 148.0, 1788.0, 21604.0, 261036.0, 3154036.0, 38109468.0, 460467652.0, 5563721292.0, 67225123156.0]]</td>
</tr>
</table>

任何人都可以帮我解决第一个HTML情况的jquery代码吗?谢谢!

2 个答案:

答案 0 :(得分:3)

您可以尝试使用eval:

var s1 = eval($('#final').text());

JsFiddle Example

只要你控制放在eval中的内容,我发现eval并不算太差。

The Eval Function.

哦,而且,请注意,如果你不想使用它,请记住,而不是在JSON中你不能使用单引号或它不会解析。您始终可以在此处检查有效的JSON:http://jsonformatter.curiousconcept.com。它会告诉你JSON中的所有错误

答案 1 :(得分:1)

那是因为[['1.48E+02', '1.79E+03', '2.16E+04', '2.61E+05', '3.15E+06', '3.81E+07', '4.60E+08', '5.56E+09', '6.72E+10', '8.12E+11'], ['1.20E+01', '1.48E+02', '1.79E+03', '2.16E+04', '2.61E+05', '3.15E+06', '3.81E+07', '4.60E+08', '5.56E+09', '6.72E+10']]不是JSON,你必须使用"来表示字符串,而不是单引号它们是数字。见http://json.org