我从数组中得到了这个元素,
<td>85%</td>
如何从中获取85%
的值?我认为.val()
或.text()
可能有效。但不明白为什么不。有人可以解释如何获得价值以及我的理解存在缺陷。
这是我的控制台视图。
row
<tr><td>DeviceName1</td><td>85%</td><td>87%</td><td>75%</td><td>63%</td></tr>
_.rest($(row).children())
[<td>85%</td>, <td>87%</td>, <td>75%</td>, <td>63%</td>]
_.rest($(row).children())[0]
<td>85%</td>
_.rest($(row).children())[0].val()
Uncaught TypeError: _.rest(...)[0].val is not a function(…)
答案 0 :(得分:1)
当您使用[0]
获取数组中的第一个元素时,它不再是JQuery对象,因此它不会响应text()
或任何其他JQuery函数。
你应该直接在JQuery对象上调用.text()
,所以如果你想获得每个孩子的文本:
$.each($(row).children(), function(index, value) {
console.log($(value).text());
});
或者如果你想得到第一个孩子的文字:
$(row).children().first().text()
答案 1 :(得分:0)
而是使用.html(),它将选择td中的任何内容。通常输入标签具有值属性,tr / td是表格结构的一部分。
答案 2 :(得分:0)
所以你基本上想要获得给定行中某个第n个表格单元格的值,对吗?
试试这个(你不需要_.rest
):
$("td", row).eq(1).text()
这也适用于真实文档,请参阅http://fiddle.jshell.net/067x52fq/。
[0].val is not a function
错误是由于您获得了带有[0]
的DOM元素,因此无法使用任何jQuery方法。