获取HTML中没有id的特定段落的链接

时间:2016-06-29 20:33:49

标签: javascript jquery html css

我想将我的读者引导到第三方HTML网页中的特定位置。感兴趣的段落如下所示:

<div>
<h1>qwerty</h1>
<p>blah blah</p>
</div>

您可以看到,没有任何元素具有id s(因此http://webpage/#id不起作用)。但是,<h1>标记中的单词是唯一的,无法在文档中的任何其他位置找到。有没有办法提供一个链接,将用户直接带到网页上的那个位置?

2 个答案:

答案 0 :(得分:1)

更好的方法是在元素中使用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>

答案 1 :(得分:0)

您无法链接到页面中的某些文字,因此如果您不控制该网站,则无法进行此操作。

我能做的最接近的事情就是使用citebite,它会创建一个插入了id的新页面,以便它可以带你到那个部分。然而,根据我的经验,它很受欢迎。