Jquery如何找到最后一个子元素

3

对于那些熟悉 JQuery 的人来说,这应该是一个轻松的问题 - 我想获取另一个元素(类型为“input”,我知道它的 ID 为“myID”)的最后一个子元素。
正确的查询方式是什么: 我尝试过:

$("input:last-child", $("#myID")); 
 $("#myID input:last-child") 

但是它没有起作用。

2
为什么它们不能工作?你的HTML结构是什么? - BoltClock
2个回答

7

尝试:

$("#myID input:last") //for the last

$("#myID input:first") //for the first

2
注意:由于:last是jQuery的扩展而不是CSS规范的一部分,使用:last的查询无法利用本机DOM querySelectorAll()方法提供的性能提升。要在使用:last选择元素时获得最佳性能,请首先使用纯CSS选择器选择元素,然后使用.filter(":last")。来源:http://api.jquery.com/last-selector/ - understack

0

你也可以使用最后一种方法。就像这样:

$("#myID").last();  

但请确保您拥有jQuery 1.4.X。虽然:last仅匹配单个元素,但:last-child可以匹配多个元素:每个父级元素一个。

我认为您编写的代码会以这种方式工作。

$("#myID input:last-child").val();

这两个东西本质上是不同的 - .last() 是集合中最后一个元素。因此,如果只有一个 #myID,则 $("#myID").last() 将与 $("#myID") 相同。我认为这位先生可能指的是 $("#myID").children().last(); - richplane

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接