eq()如何只选择特定的元素jquery

时间:2014-11-26 17:09:33

标签: jquery html

我认为eq()只选择传入的数字所需的元素。在这个例子中,我只是第二个<td>元素的值,但它给了我两个。

http://jsfiddle.net/r4fnt6pd/1/

我无法在其他地方找到类似的问题,查看jquery文档只会让我更加困惑为什么它不起作用。元素是通过循环数据生成的,因此它们没有单独的类来直接引用元素。

谢谢。

2 个答案:

答案 0 :(得分:3)

不,它不会给你们两个。代码不能从任何元素中获取任何元素,如果它不会找到任何表格单元格。

代码和小提琴的问题:

  • HTML代码无效。没有table元素,因此trtd元素将被忽略,其内容最终会以页面中的文字结尾。

  • jQuery库中没有包含jQuery库,因此当您尝试使用$时代码会崩溃。

  • 您使用的是val方法,但该单元格没有任何价值。您可以使用text方法获取单元格中的文本。

在代码中添加table标记:

<table>
  <tr class="pound"> <td>pound</td> <td>0.79</td></tr>
</table>

使用text方法:

var conFrom = $('.pound td:eq(1)').text();

修正小提琴:http://jsfiddle.net/r4fnt6pd/2/

答案 1 :(得分:1)

是的,您可以执行以下任何操作。我还将'val()'更改为'text()',因为td元素没有val:

conFrom = $('.pound td:eq(0)').text()

conFrom = $('.pound td')[0].innerHTML

conFrom = $('.pound td').eq(0).text()

请参阅the updated fiddle