在不使用jQuery的情况下通过href散列引用元素
Reference an element by href hash without using jQuery
假设我有一个元素<a href="/foo#bookmark">
。我想通过它的散列来引用这个元素,这可以使用jQuery来实现。我如何只用JavaScript做到这一点?
示例代码:
<a id="foo" href="/foo#bookmark" onclick="exampleFunction(this)">Some text</a>
<script>
/**
* @param {Element} el
*/
function exampleFunction(el) {
let bookmarkHash = el.hash,
$bookmarkElement = jQuery(bookmarkHash);
console.info($bookmarkElement.offset().top);
}
</script>
这里jQuery(bookmarkHash)
引用了原来的<a>
,所以我可以得到元素的偏移量。我如何在纯JavaScript中做到这一点?
在您的脚本jQuery(bookmarkHash);
jquery只返回一个选择器。所以你可以很容易地把它替换掉。
/**
* @param {Element} el
*/
function exampleFunction(el) {
let bookmarkHash = el.hash,
$bookmarkElement = document.querySelector(bookmarkHash);
/* you will need to figure out the elements offset bit */
console.info($bookmarkElement);
}
<a id="foo" href="#bookmark" onclick="exampleFunction(this)">Some text</a>
<div id="bookmark">Hello</div>
相关文章:
- 锚点元素的href属性自动更改
- 锚点元素不't使用svg时,请打开EDGE上的href
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 将href中的图像替换为其他元素中的图像
- 将属性添加到带有href链接但没有#的元素
- 用于href中元素的jquery选择器
- 在href跳转到另一个html元素之前,执行Knockout.js数据绑定:点击函数
- Javascript数据将元素属性绑定到URL中的锚href
- JQuery监听点击并使用点击元素发出警报's href
- 替换 href 元素菜单中的 SID 值数据
- Selenium Webdriver 无法在菜单中找到 href 元素
- 用jQuery替换href元素
- href元素内的内联javascript
- 动态设置“href”元素
- 将字符串转换为HTML -字符串为"href"元素
- 如何用Javascript为图表中的每一列添加更多的href元素
- 使用JavaScript向特定的href元素添加类
- 如何用Javascript替换鼠标悬停时的所有href元素
- 显示相对于Href元素的Div
- 如何用javascript改变HTML href元素的一部分