jQuery:value()和text()不返回表格单元格的文本

wes*_*son 4 jquery dom jquery-selectors

我必须遗漏一些基本的东西.开导我.

我正在尝试获取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
Run Code Online (Sandbox Code Playgroud)

我正在使用这个选择器:

$("#requests :nth-child(2) td:first")
Run Code Online (Sandbox Code Playgroud)

Firebug控制台显示:

Object { length=1,  more...}
Run Code Online (Sandbox Code Playgroud)

对吧.抓住第一个元素:

>>> $("#requests :nth-child(2) td:first")[0]
<td class="">
Run Code Online (Sandbox Code Playgroud)

所以,我想我可以打电话text()value()上或一些这样的方法.

如果我查看Firebug中的DOM选项卡,我看到我有"childNodes"和"firstChild",<TextNode textContent="289">但我无法弄清楚如何检索它.

SLa*_*aks 9

你需要写$("#requests :nth-child(2) td:first").text().

使用jQuery对象的indexer($(...)[0])将返回原始DOM元素.
如果要调用jQuery方法,则需要直接在jQuery对象上调用它们,而不使用索引器.
如果你想在jQuery集中的单个元素上调用jQuery方法,请调用eq,如下所示: $(...).eq(3).text().

value()jQuery中没有方法.
val方法将设置或返回表单元素的值.