要在页面上查找并搜索关键词,可以使用JavaScript来实现。下面是一个示例代码,演示了如何查找页面上的段落并搜索关键词,并建立一个关键词列表/目录,将关键词重定向到正确的结果。
HTML:
<input type="text" id="searchInput" placeholder="Enter keyword">
<button onclick="search()">Search</button>
<div id="searchResults"></div>
<div id="keywordList">
<ul>
<li><a href="#result1">Keyword 1</a></li>
<li><a href="#result2">Keyword 2</a></li>
<li><a href="#result3">Keyword 3</a></li>
</ul>
</div>
<div id="paragraphs">
<h2 id="result1">Result 1</h2>
<p>Paragraph containing keyword 1.</p>
<h2 id="result2">Result 2</h2>
<p>Paragraph containing keyword 2.</p>
<h2 id="result3">Result 3</h2>
<p>Paragraph containing keyword 3.</p>
</div>
JavaScript:
function search() {
var searchInput = document.getElementById("searchInput").value.toLowerCase();
var paragraphs = document.getElementsByTagName("p");
var searchResults = document.getElementById("searchResults");
searchResults.innerHTML = ""; // 清空之前的搜索结果
// 搜索关键词并在页面上显示结果
for (var i = 0; i < paragraphs.length; i++) {
var paragraph = paragraphs[i];
var paragraphText = paragraph.innerText.toLowerCase();
if (paragraphText.includes(searchInput)) {
var result = document.createElement("p");
result.innerHTML = "<a href='#" + paragraph.id + "'>" + paragraph.id + "</a>: " + paragraphText;
searchResults.appendChild(result);
}
}
}
// 点击关键词列表中的链接时滚动到相应的段落
document.getElementById("keywordList").addEventListener("click", function(event) {
event.preventDefault();
var target = event.target;
if (target.tagName === "A") {
var id = target.getAttribute("href").substring(1);
document.getElementById(id).scrollIntoView();
}
});
上述代码创建了一个简单的页面,其中包含一个搜索输入框和一个按钮。页面中的段落通过id进行标识,关键词列表/目录中的链接以关键词为文本,并使用关键词对应的段落id作为锚点。当用户输入关键词并点击搜索按钮时,将搜索关键词并在页面上显示结果。同时,当用户点击关键词列表中的链接时,页面会滚动到相应的段落。
注意:上述示例代码假设页面中的段落使用<p>
标签进行包装,并且每个段落都有一个唯一的id。根据实际的HTML结构和需求,你可能需要对代码进行适当的修改。