我想引导我的读者访问第三方HTML
网页中的特定位置。感兴趣的段落是这样的:在没有ID的情况下获取HTML中特定段落的链接
<div>
<h1>qwerty</h1>
<p>blah blah</p>
</div>
就像你所看到的,没有任何元素都有id
S(所以这http://webpage/#id
是行不通的)。但是,<h1>
标签中的单词是唯一的,无法在文档的其他任何位置找到。有没有办法提供一个链接,将用户直接带到网页上的这个位置?
我想引导我的读者访问第三方HTML
网页中的特定位置。感兴趣的段落是这样的:在没有ID的情况下获取HTML中特定段落的链接
<div>
<h1>qwerty</h1>
<p>blah blah</p>
</div>
就像你所看到的,没有任何元素都有id
S(所以这http://webpage/#id
是行不通的)。但是,<h1>
标签中的单词是唯一的,无法在文档的其他任何位置找到。有没有办法提供一个链接,将用户直接带到网页上的这个位置?
你不能链接到页面中的一些文本,所以如果你不控制网站,这是不可能的。
您可以做的我最清楚的事情是使用citebite,它会创建一个插入了ID的新页面,以便您可以转到该部分。但是,根据我的经验,这是相当受打击或错过。
更好的方法来完成这项工作是使用元素中的id
属性。
但您可以使用jquery :contains
选择器来查找包含hash
的元素。然后获取元素的顶部位置并将其滚动到它的位置。
window.location.hash = "id";
var hash = window.location.hash.replace("#", "");
var scrollTop = $("h1:contains(" + hash + ")").offset().top;
window.scrollTo(0, scrollTop);
div {
height: 300px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>
<h1>id</h1>
<div></div>
<h1>id2</h1>
<div></div>
当然,你尝试过什么? – j08691
当URL是'http://webpage/#qwerty'时,你不会专注于'
qwerty
'? – Mohammad网页上应该只有一个'h1'元素 - 这不是必需的,但[搜索引擎会期待它。](https://moz.com/community/q/how-will-it-effect-seo -to-have-multiple-h1-tags-on-a-page) – Blazemonger