如何找到元素的最后一个子元素?

3
 <div id="main">
  <div class="1"></div>
  <div class="2"></div>
  <div class="2"></div>
  <div class="3"></div>
  <div class="3"></div>
  <div class="4"></div>
 </div>

我们如何使用 :last-child 在jquery中编写选择器,以找到具有类3的最后一个div?

可能是重复的问题:在 div 中查找具有特定类名的最后一个元素 -- 请在提出新问题之前先使用搜索功能。 - Felix Kling
4个回答

12

尝试使用这个选择器... 但是你的类名不应该只是数字。它们应该以正常字符开头。

$("#main .3:last")

请注意,:last-child检查目标是否为其父级的最后一个子元素。没有任何具有类 .3 的元素是其父元素的最后一个子元素。


-1 直接子选择器在所有当前(微软)浏览器上都无法工作。 - Mihai Stancu
2
@MihaiStancu 能否展示一下 jsfiddle 的代码?http://jsfiddle.net/eyvb6/1/ 在我的 ie7 上运行良好。这里也没有直接子选择器。 - Esailija
@MihaiStancu 我仍然对IE中的直接子元素bug感到好奇,因为jQuery在某些区域确实修补了querySelectorAll。你能演示一下吗? - Esailija
已测试,在最新的 Windows 虚拟机中无法复制。可能是我回忆错误了(jQuery 1.2 -ish)。除非您编辑答案,否则无法撤消下投票。 - Mihai Stancu

4

0

$('#main > .3').last() 应该指向正确的元素


-5

试试这个:

$('#main').find(':last-child');

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