「and検索」(複数のキーワードを全・半角スペースで区切る)も使えます。
Search Words:
「and検索」(複数のキーワードを全・半角スペースで区切る)も使えます。
Search Words:
<input type="text" id="keyWord">
<input type="button" class="btn-search button1" onclick="doHighlight()" value="検索">
<input type="button" class="btn-remove button2" onclick="removeHighlight()" value="検索結果をリセット">
<div id="searchContainer">
<span>北海道</span>
<span>青森県</span>
<span>岩手県</span>
・
・
・
</div>
.highlight {
background: violet;
}
input#keyWord {
max-width: 50rem;
}
input[type='button'] {
color: #fff;
}
#searchContainer span {
display: block;
margin-right: 1rem;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="jquery.highlight-5.js"></script>
<script>
$(function(){
$("#keyWord")
.focus(function(){
$("#keyWord").val("");
});
$("#btn")
.click(function(){ //ボタンクリックイベント定義
$("#searchContainer").removeHighlight(); //ハイライト消去
var words = []; //複数語句を格納するための変数(配列)
words = $("#keyWord").val() //テキストボックスの値
.replace(/^\s+|\s+$/g,"") //前後の空白を除去(gオプションは繰り返し)
.replace(/\s+/g, " ") //連続する空白を1つに
.split(" "); //空白で分割して配列にして代入
for (i in words) { //要素数ぶんループ(iには添字が入る)
if (words[i] != "") { //空文字であれば処理しない
$("#searchContainer").highlight(words[i]); //#searchContainer内のテキストに対し、処理中の語句でハイライト
}
}
$("#words")
.text("")
.text(words.join(", "));
});
$(".btn-remove").click(function(){
$("#searchContainer").removeHighlight(); //.highlightクラスを削除
$("#keyWord").val(""); //検索窓を空欄にする
});
});
</script>