2016-06-29 88 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

相關問題