$(t).html()

返回

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

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


当前回答

抓住第二个孩子:

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

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

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

参见儿童和eq的文档。

其他回答

抓住第二个孩子:

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

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

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

参见儿童和eq的文档。

试试这个:

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

or

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

你可以使用jQuery中的两个方法,如下所示-

使用jQuery:n -child选择器 你已经把一个元素的位置作为它的参数,它是2,因为你想选择第二个li元素。 $("ul li:n -child(2)").click(函数(){ / /做某事 });

使用jQuery:eq()选择器

如果想要获得确切的元素,则必须指定该项的索引值。列表元素以索引0开始。要选择li的第2个元素,必须使用2作为参数。

$( “ul li:eq(1)” ).click(function(){ 做点什么 });

在jQuery中获取List的第二个子元素

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

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

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

t.cells[1].innerHTML

这里有一个解决方案,可能在代码中读起来更清楚:

获取一个无序列表的第2个子元素:

   $('ul:first-child').next()

还有一个更详细的例子: 这段代码获取UL的第二个子元素的'title'属性的文本,标识为'my_list':

   $('ul#my_list:first-child').next().attr("title")

在第二个例子中,您可以去掉选择器开头的'ul',因为它是多余的,因为ID对于单个页面应该是唯一的。 这样做只是为了让例子更清晰。

在性能和内存方面注意,这两个例子的性能都很好,因为它们没有让jquery保存一个ul元素的列表,而这些元素必须经过筛选。