如何使用jQuery找到所有超链接元素的绝对位置?
How do I find the absolute position of all hyperlink elements using jQuery?
我想获得所有html超链接元素的绝对位置。我编写了一个jquery来查找每个链接元素的绝对位置,如下所示:
jQuery('a').each(function() {
var elLink = jQuery(this);
console.log(this.text + ' => ' + this.href + ' ' + JSON.stringify(elLink.offset()) + ' top:' + elLink.css('top') + ' left:' + elLink.css('left'))
});
然而,它不起作用。例如,在http://www.actuino.fr页面上,有一个名为"Le Crawler"的链接会给我top = 0和left = 0,而"Contact"链接会给我正确的位置。不是所有链接都是隐藏的。
那么我怎样才能得到这些链接的绝对位置呢?谢谢你!
我不认为获得任何元素的.offset()
应该有任何问题,无论是绝对的,相对的,固定的还是静态的定位。
但有一点需要注意:
在下面的例子中,我有三个锚,其中一个是隐藏的,尽管它是绝对定位的,但是top,left被浏览器赋值为0。
jQuery('a').each(function() {
var elLink = jQuery(this);
$(document.body).append('<pre>'+this.href + ':::<--href:::.offset():::-->' + JSON.stringify(elLink.offset()) +'</pre>')
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href='#123' style='margin:40px 0 0 80px;'>link 1</a>
<a href='#456' style='position:absolute; right:0; bottom:50px;'>link 2</a>
<a href='#789' style='display:none; position:absolute; left:0; bottom:50px;'>link 2</a>
相关文章:
- 使用javascript查找元素位置的最快方法
- 当静态元素与滚动上的固定元素位置重叠时进行检测
- 另一个元素JAVAscript中的元素位置
- CSS.滚动后元素位置发生变化
- JQuery Mobile单击事件不起作用,具体取决于HTML中的元素位置
- 正在查找表行中的td元素位置
- jquery追加元素位置始终为0
- 如何通过JS移动元素位置而不闪烁
- 当按钮点击更改元素位置时,Javascript
- 在事件发生时获取元素位置的当前页面 URL,并将该 URL 输出到另一个页面上
- 更改 JS/D3 页上的元素位置
- 字典中由元素:位置对组成的移动元素
- 观察元素位置并对 AngularJS 中的更改做出反应
- JavaScript 设置宽度尺寸会更改元素位置
- Angularjs 获取元素位置
- 按类名获取元素位置
- 从数组中获取元素位置
- 如何在更改选择元素宽度时固定所有元素位置
- 破解以在滚动条出现时保持水平元素位置
- 将第一个数组中的元素位置与另一个数组进行比较