最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實(shí)現(xiàn)搜索高亮功能詳解

 更新時(shí)間:2025年05月01日 09:30:33   作者:友人.227  
這篇文章主要介紹了JavaScript實(shí)現(xiàn)搜索高亮功能,搜索功能是常見的需求之一,為了提升用戶體驗(yàn),我們可以通過高亮顯示搜索結(jié)果中的關(guān)鍵詞來幫助用戶快速定位信息,需要的朋友可以參考下

前言

在開發(fā) Web 應(yīng)用時(shí),搜索功能是常見的需求之一。為了提升用戶體驗(yàn),我們可以通過高亮顯示搜索結(jié)果中的關(guān)鍵詞來幫助用戶快速定位信息。本文將介紹如何使用 HTML、CSS 和 JavaScript 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的搜索高亮功能。

1. 功能需求

我們的目標(biāo)是實(shí)現(xiàn)一個(gè)簡(jiǎn)單的搜索框,用戶可以在其中輸入關(guān)鍵詞。當(dāng)用戶點(diǎn)擊搜索按鈕時(shí):

  • 如果輸入框?yàn)榭?,則清除所有已有的高亮。
  • 如果輸入框中有關(guān)鍵詞,則在頁(yè)面內(nèi)容中查找并高亮顯示所有匹配的文本。

2. HTML 結(jié)構(gòu)

HTML 部分非常簡(jiǎn)單,包含一個(gè)搜索框、一個(gè)搜索按鈕和一些示例文本內(nèi)容。以下是完整的 HTML 代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>搜索高亮功能</title>
   <!-- 寫css的地方 -->
   <style></style>
</head>
<body>
    <div class="search-container">
        <input type="text" id="search-input" placeholder="請(qǐng)輸入搜索關(guān)鍵詞">
        <button id="search-button">搜索</button>
    </div>
    <div class="content">
        <p class="content-right">這是一個(gè)示例文本,用于演示搜索高亮功能。</p>
        <p class="content-right">你可以輸入關(guān)鍵詞,比如“示例”或“高亮”,看看效果。</p>
        <p class="content-right">這個(gè)功能使用了 JavaScript 來實(shí)現(xiàn)。</p>
    </div>
</body>
</html>

3. CSS 樣式

為了提升視覺效果,我們使用 CSS 對(duì)頁(yè)面進(jìn)行簡(jiǎn)單的樣式設(shè)計(jì)。以下是 styles.css 的內(nèi)容:

body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
}
.search-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px;
}
#search-input {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 300px;
}
#search-button {
    padding: 10px 20px;
    font-size: 16px;
    background-color: #007BFF;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-left: 10px;
}
#search-button:hover {
    background-color: #0056b3;
}
.content {
    margin: 20px;
}
.content-right {
    margin-bottom: 10px;
    padding: 10px;
    background-color: white;
    border: 1px solid #ddd;
    border-radius: 4px;
}
em {
    background-color: yellow;
    font-weight: bold;
}

4. JavaScript 實(shí)現(xiàn)

JavaScript 是實(shí)現(xiàn)搜索高亮功能的核心部分。以下是代碼的詳細(xì)解析:

document.addEventListener("DOMContentLoaded", () => {
    const searchInput = document.getElementById("search-input");
    const searchButton = document.getElementById("search-button");
    const contentItems = document.querySelectorAll(".content-right");
    searchButton.addEventListener("click", () => {
        const keyword = searchInput.value.trim();
        // 清除之前的高亮
        contentItems.forEach(item => {
            item.innerHTML = item.textContent;
        });
        // 如果關(guān)鍵詞不為空,則進(jìn)行高亮
        if (keyword) {
            contentItems.forEach(item => {
                if (item.textContent.includes(keyword)) {
                    item.innerHTML = item.textContent.replace(
                        new RegExp(keyword, "gi"),
                        `<em>${keyword}</em>`
                    );
                }
            });
        }
    });
});

5. 總結(jié)

通過簡(jiǎn)單的 HTML、CSS 和 JavaScript,我們實(shí)現(xiàn)了一個(gè)搜索高亮功能。這個(gè)功能不僅可以提升用戶體驗(yàn),還可以作為學(xué)習(xí)前端開發(fā)的一個(gè)很好的實(shí)踐項(xiàng)目。你可以根據(jù)實(shí)際需求進(jìn)一步擴(kuò)展功能,例如支持動(dòng)態(tài)內(nèi)容更新或優(yōu)化性能。

希望這篇文章對(duì)你有所幫助!如果你有任何問題或建議,歡迎在評(píng)論區(qū)留言。

  • 獲取 DOM 元素:

使用 document.getElementByIddocument.querySelectorAll 獲取搜索框、搜索按鈕和內(nèi)容區(qū)域。

  • 綁定點(diǎn)擊事件:

為搜索按鈕綁定點(diǎn)擊事件,當(dāng)用戶點(diǎn)擊按鈕時(shí)觸發(fā)搜索邏輯。

  • 清除高亮:

在每次搜索前,清除之前的所有高亮內(nèi)容。通過將 innerHTML 替換為 textContent,移除所有 <em> 標(biāo)簽。

  • 高亮關(guān)鍵詞:

如果用戶輸入的關(guān)鍵詞不為空,使用 String.prototype.includes 判斷內(nèi)容中是否包含關(guān)鍵詞。

使用正則表達(dá)式和 String.prototype.replace 方法將關(guān)鍵詞替換為 <em> 包裹的文本,實(shí)現(xiàn)高亮效果。

以上就是JavaScript實(shí)現(xiàn)搜索高亮功能詳解的詳細(xì)內(nèi)容,更多關(guān)于JavaScript搜索高亮的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • uniapp?Android解決?APP菜單、按鈕權(quán)限控制方法

    uniapp?Android解決?APP菜單、按鈕權(quán)限控制方法

    這篇文章主要介紹了uniapp?Android解決?APP菜單、按鈕權(quán)限控制方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • js jquery數(shù)組介紹

    js jquery數(shù)組介紹

    js jquery數(shù)組介紹,數(shù)組時(shí)編程中比較常用的處理,需要的朋友可以參考下
    2012-07-07
  • 微信小程序云開發(fā)之模擬后臺(tái)增刪改查

    微信小程序云開發(fā)之模擬后臺(tái)增刪改查

    這篇文章主要為大家詳細(xì)介紹了微信小程序云開發(fā)之模擬后臺(tái)增刪改查,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • p5.js實(shí)現(xiàn)聲音控制警察抓小偷游戲示例解析

    p5.js實(shí)現(xiàn)聲音控制警察抓小偷游戲示例解析

    這篇文章主要為大家介紹了p5.js實(shí)現(xiàn)聲音控制警察抓小偷游戲示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • JS實(shí)現(xiàn)的視頻彈幕效果示例

    JS實(shí)現(xiàn)的視頻彈幕效果示例

    這篇文章主要介紹了JS實(shí)現(xiàn)的視頻彈幕效果,涉及javascript基于事件響應(yīng)的頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-08-08
  • 小程序中使用css var變量(使js可以動(dòng)態(tài)設(shè)置css樣式屬性)

    小程序中使用css var變量(使js可以動(dòng)態(tài)設(shè)置css樣式屬性)

    這篇文章主要介紹了小程序中使用css var變量,使js可以動(dòng)態(tài)設(shè)置css樣式屬性,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • js原型與原型鏈萬文總結(jié)詳解(一文搞懂原型鏈!)

    js原型與原型鏈萬文總結(jié)詳解(一文搞懂原型鏈!)

    這篇文章主要介紹了js原型與原型鏈的相關(guān)資料,包括原型、原型對(duì)象、__proto__隱式原型以及原型鏈的機(jī)制,通過實(shí)例和練習(xí)幫助讀者理解原型鏈的工作原理和如何在實(shí)際開發(fā)中應(yīng)用,需要的朋友可以參考下
    2025-05-05
  • javascript運(yùn)行機(jī)制之執(zhí)行順序理解

    javascript運(yùn)行機(jī)制之執(zhí)行順序理解

    這篇文章主要介紹了javascript運(yùn)行機(jī)制之執(zhí)行順序理解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 純javascript實(shí)現(xiàn)簡(jiǎn)單下拉刷新功能

    純javascript實(shí)現(xiàn)簡(jiǎn)單下拉刷新功能

    這篇文章主要介紹了純javascript實(shí)現(xiàn)簡(jiǎn)單下拉刷新功能,沒有借助任何的框架,十分簡(jiǎn)單實(shí)用,有需要的小伙伴來參考下吧。
    2015-03-03
  • JavaScript獲取用戶所在城市及地理位置

    JavaScript獲取用戶所在城市及地理位置

    這篇文章主要介紹了JavaScript獲取用戶所在城市及地理位置的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2018-04-04

最新評(píng)論

张家港市| 鹤壁市| 平潭县| 玛多县| 永德县| 太保市| 肥城市| 丹江口市| 诸暨市| 武胜县| 康乐县| 河曲县| 福建省| 监利县| 永兴县| 铜陵市| 大安市| 永吉县| 新绛县| 南涧| 呼图壁县| 海淀区| 武宣县| 松阳县| 五寨县| 吴川市| 温州市| 洪江市| 隆化县| 永平县| 桓台县| 湾仔区| 孝昌县| 莎车县| 泰和县| 桃园市| 天台县| 辽阳市| 阿鲁科尔沁旗| 库尔勒市| 高平市|