$(t).html()

返回

<td>test1</td><td>test2</td>

我想从$(t)对象中检索第二个td。我寻找解决办法,但没有一个对我有效。知道怎么得到第二个元素吗?


当前回答

除了使用jQuery方法,您还可以使用<tr>提供给您的本机单元格集合。

$(t)[0].cells[1].innerHTML

假设t是一个DOM元素,您可以绕过jQuery对象创建。

t.cells[1].innerHTML

其他回答

使用.find()方法

美元(t);(“道明:eq(1)”);

Td:eq(x) // x是要检索的子对象的索引。Eq(1) = 1。 //1表示第二个元素

试试这个:

$("td:eq(1)", $(t))

or

$("td", $(t)).eq(1)

抓住第二个孩子:

$(t).children().eq(1);

或者,获取第二个子元素<td>:

$(t).children('td').eq(1);

参见儿童和eq的文档。

如何:

$(t).first().next()

主要更新:

除了答案看起来有多漂亮,您还必须考虑代码的性能。因此,知道$(t)变量中到底有什么也是相关的。它是一个<TD>的数组还是一个包含几个<TD>的<TR>节点? 为了进一步说明这一点,请参阅<ul>列表中包含50个<li>子元素的jsPerf分数:

http://jsperf.com/second-child-selector

到目前为止,$(t).first().next()方法是这里最快的。

但是,另一方面,如果取<tr>节点并找到<td>子节点并运行相同的测试,结果将不相同。

希望能有所帮助。:)

除了使用jQuery方法,您还可以使用<tr>提供给您的本机单元格集合。

$(t)[0].cells[1].innerHTML

假设t是一个DOM元素,您可以绕过jQuery对象创建。

t.cells[1].innerHTML