是否存在使用http://site.tld/page.html#select(h3:nth(5))
定位页面上第n个元素的本机方法我可以想到为什么这不能作为HTML中的一个功能存在而被接受的原因很多,但这不是问题所在。
因此,如果无法用HTML实现,可以在Chrome或Firefox等特定浏览器中使用某些功能构建吗?
有时候,我想把人们指向某个页面的某个部分,但是当我查看代码时,没有id =“paragraph4”甚至是a而且我觉得很难让人无法做到这样的事情这些
答案 0 :(得分:1)
这不会真正回答你的问题(我认为),但我相信只有浏览器扩展才能实现这种行为,即消费者端。
该扩展程序还可以帮助您选择所需的部件,并生成可以添加书签或共享的特制URL。
但是,要与其他人共享此功能,您必须让他们安装扩展程序(以及不同的浏览器)。
答案 1 :(得分:1)
https://en.wikipedia.org/wiki/Fragment_identifier#Proposals 引用...
"直到Firefox 5,Firefox支持XPath链接,例如#xpath:/ html / body / div [3],它们可以与诸如http://antimatter15.com/wp/2009/11/xpath-bookmark-bookmarklet/之类的书签一起使用,以链接到HTML中缺少适当身份证件的文件。在Mozilla bug#457102"
中,此功能已作为代码清理的一部分被删除(由于stackoverflow不希望我发布3个链接,错误链接从报价中删除)
答案 2 :(得分:0)
你需要抓取document.location.hash
,解析值并在JavaScript / jQuery中执行相应的代码。
答案 3 :(得分:0)
8年后回答我自己的问题:
WICG为 Text Fragments 提供了一个草稿,现在您可以通过将以下内容添加到哈希表中来链接到页面上的文本,就像在搜索文本一样
#:~:text=<Text To Link to>
在Chrome Version 81.0.4044.138
上的工作示例:
Click on this link应该重新加载页面并突出显示链接的文本