我想引導我的讀者訪問第三方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