HTMLTableCellElement>在jquery中没有方法'文本

时间:2013-08-08 19:19:41

标签: jquery ruby-on-rails

我正在尝试获取表格的最后一个'tr',并找出所选最后一个tr的第三个单元格值。 我正在使用以下声明

alert($("#requirements_table tr:last").find("td")[1].text());

但是我收到了错误:

HTMLTableCellElement>没有方法'text

表格结构

<table id="requirements_table">
    <% @requirements.each do |requirement| %>
      <tr>

        <td><div contenteditable><%= requirement.id %></div></td>

        <td><%= requirement.requirement_info %></td>
        <td><%= link_to 'Show', requirement %></td>
        <td><%= link_to 'Edit', edit_requirement_path(requirement),:class=> "edit_req" %></td>
        <td><%= link_to 'Destroy', requirement, method: :delete, data: { confirm: 'Are you sure?' } %></td>
      </tr>
    <% end %>
    </table>

2 个答案:

答案 0 :(得分:5)

更改

$("#requirements_table tr:last").find("td")[1].text()

$("#requirements_table tr:last").find("td").eq(1).text()

由于错误指示.find("td")[1] - 返回没有函数.text()的DOM元素

相反,您需要使用.eq函数,如.find("td").eq(1).text(),它返回jQuery对象。

答案 1 :(得分:1)

jQuery对象上的括号表示法返回基础HTML元素。要访问给定索引处的jQuery对象,您需要使用eq()

$("#requirements_table tr:last").find("td").eq(1).text()