2016-06-29 47 views
-1

我想引导我的读者访问第三方HTML网页中的特定位置。感兴趣的段落是这样的:在没有ID的情况下获取HTML中特定段落的链接

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

就像你所看到的,没有任何元素都有id S(所以这http://webpage/#id是行不通的)。但是,<h1>标签中的单词是唯一的,无法在文档的其他任何位置找到。有没有办法提供一个链接,将用户直接带到网页上的这个位置?

+2

当然,你尝试过什么? – j08691

+0

当URL是'http://webpage/#qwerty'时,你不会专注于'

qwerty

'? – Mohammad

+0

网页上应该只有一个'h1'元素 - 这不是必需的,但[搜索引擎会期待它。](https://moz.com/community/q/how-will-it-effect-seo -to-have-multiple-h1-tags-on-a-page) – Blazemonger

回答

0

你不能链接到页面中的一些文本,所以如果你不控制网站,这是不可能的。

您可以做的我最清楚的事情是使用citebite,它会创建一个插入了ID的新页面,以便您可以转到该部分。但是,根据我的经验,这是相当受打击或错过。

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>

+0

如果“在第三方HTML网页中”,他不能在页面中运行JS。 – dlsso

+0

是的,如果是第三方页面,则没有办法。 – Mohammad

相关问题