我必须遗漏一些基本的东西。启发我。
我正在尝试获取ID(本例中为289):
<tr class="header">
<th>ID</th>
<th>2</th>
<th>3</th>
</tr>
<tr class="highlight">
<td class="">289</td>
<td class="">field a</td>
<td class="">field b</td>
</tr>
... more rows
我正在使用这个选择器:
$("#requests :nth-child(2) td:first")
Firebug控制台显示:
Object { length=1, more...}
正确的。抓住第一个要素:
>>> $("#requests :nth-child(2) td:first")[0]
<td class="">
所以,我想我可以打电话给text()
或value()
或其他方法。
如果我查看Firebug中的DOM选项卡,我看到我有{child}的“childNodes”和“firstChild”,但我无法弄清楚如何检索它。
答案 0 :(得分:9)
您需要撰写$("#requests :nth-child(2) td:first").text()
。
使用jQuery对象的索引器($(...)[0]
)将返回原始DOM元素
如果要调用jQuery方法,则需要直接在jQuery对象上调用它们,而不使用索引器
如果要在jQuery集中的单个元素上调用jQuery方法,请调用eq
,如下所示:$(...).eq(3).text()
。
jQuery中没有value()
方法
val
方法将设置或返回表单元素的值。
答案 1 :(得分:2)
当您使用括号表示法从jQuery对象中抓取对象时,它会抓取原始dom元素。而是使用$('selector').eq(0)
。然后你的方法应该有用。
答案 2 :(得分:0)
.text()
返回元素中的所有文本,因此应该可以正常工作。
如果没有看到更多HTML,就无法知道您的
$("#requests :nth-child(2) td:first")
匹配有问题的元素