如何获取网站的最后一个锚点元素
How to get the last anchor element of a website
无论DOM树结构如何,我都需要获得网站的最后一个锚点。
我试过:
$(document).ready(function(){
var lastAnchor = $(this).find("a:last-child");
alert(lastAnchor);
});
然而,我得到了任何元素中存在的所有最后一个锚,其中至少包含一个锚。我知道这可以转换为数组,从中可以提取最后一个元素。。。但这不是正确的做法。那么什么是的正确方法呢?
有趣的事实:在摆弄了选择器一段时间后,我想出了:
$(this).find("a:last-child").find(":last-child")
这导致了明显的改进:
$(this).find("a:last-child :last-child")
但我发现这个解决方案既效率低下又繁琐。我拒绝相信没有更好的选择者。
我想我错过了一些显而易见的东西,但它还没有击中我。
有人能告诉我,是否有更好的方法可以做到这一点,或者我是在无缘无故地哭喊狼来了?
编辑:奖励回合
到目前为止,这个问题已经得到了很好的答案,所有的答案都是CSS/JavaScript/JQuery。但是,你能补充一下你的答案是否与跨浏览器兼容吗?
为什么不试试$('a:last');
简单的javascript是:
var anchors = document.getElementsByTagName("a");
var lastAnchor = anchors[(anchors.length - 1)];
这在所有浏览器中都是跨浏览器兼容的,一直到那些只理解DOM Level 1的浏览器(即大约2000年的Internet Explorer 5和Netscape 6)。
您正在寻找a:last-of-type
。点击此处了解更多信息:https://css-tricks.com/almanac/selectors/l/last-of-type/
我相信你想要$("a").last()
这样的东西
这将查看页面中的所有锚元素,并为您提供最后一个检索到的锚元素。
只使用CSS选择器是很棘手的,因为这些选择器往往依赖于DOM排列,并且您希望选择器与DOM无关。例如,a:last-child
选择器将只返回一个锚点标记,该标记是其父元素中的最后一个元素。如果页面上的最后一个锚点不是其父元素中的最后一个子元素,则使用该选择器可能对您没有帮助。
使用nth-last-child()
。当你想要倒数第一或倒数第二时,它非常有用。
$(this).find("a:nth-last-child(1)")
https://api.jquery.com/nth-last-child-selector/
http://jsfiddle.net/o5y9959b/
- 表追加而不附加最后一个元素
- 如何查找流星集合中最后一个元素/对象的id
- 如何在使用Protractor测试时找到ng中继器的最后一个元素
- 在元素数组上循环只会影响最后一个元素
- 推特引导滚动间谍总是选择最后一个元素
- 选择页面上具有特定类的最后一个元素
- 检查 JQuery 每个函数中的最后一个元素
- 选择表中的最后一个元素
- forEach 仅执行数组的最后一个元素
- JavaScript,数组和函数 - 只有数组的最后一个元素有效
- jQuery - 选择具有相同 ID 的组的最后一个元素
- 第一个元素和最后一个元素之间的连续循环
- 在JavaScript数组中查找最后一个元素的计算效率最高的方法
- 将同一个元素追加到两个下拉列表中只会导致最后一个元素被追加
- 如何在jquery中读取Section中的最后一个元素
- 设置'字体大小'jQuery不处理所选Text的最后一个元素
- AJAX只将数组的最后一个元素传递给MVC 5控制器
- 移除嵌套数组的最后一个元素,并完成最后一个数组
- PHP:获取关联数组中最后一个元素
- jquery slideDown()遍历最后一个元素