この記事では、jQuery によって実装されたシンプルなフロントエンド検索機能を主に紹介し、jQuery イベント応答とページ要素のトラバーサル、マッチング、動的設定、およびその他の関連する操作スキルを必要とする友人が参考になれば幸いです。 。
html コード:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>工程轻量化与可靠性技术实验室</title> </head> <body> <p class="content-right"> <input type="text"><input type="submit" value="搜索"> <h3>应用流体学</h3> <ul id="content_news_list"> <li><span>2015-7-8</span><a href="">这里是文章的标题1</a></li> <li><span>2015-7-8</span><a href="">这里是文章的标题2</a></li> <li><span>2015-7-8</span><a href="">这里是文章的标题3</a></li> <li><span>2015-7-8</span><a href="">这里是文章的标题4</a></li> <li><span>2015-7-8</span><a href="">这里是文章的标题5</a></li> <li><span>2015-7-8</span><a href="">这里是文章的标题6</a></li> <li><span>2015-7-8</span><a href="">这里是文章的标题6</a></li> <li><span>2015-7-8</span><a href="">这里是文章的标题6</a></li> <li><span>2015-7-8</span><a href="">这里是文章的标题6</a></li> <li><span>2015-7-8</span><a href="">这里是文章的标题4</a></li> </ul> </p> </body>
jQuery コード:
<script type="text/javascript"> $(function(){ $("input[type=text]").change(function () { var searchText = $(this).val();//获取输入的搜索内容 var $searchLi = "";//预备对象,用于存储匹配出的li if (searchText != "") { //获取所有匹配的li $searchLi = $("#content_news_list").find('a:contains('+ searchText +')').parent(); //将内容清空 $("#content_news_list").html(""); } //将获取的元素追加到列表中 $("#content_news_list").html($searchLi).clone(); //判断搜索内容是否有效,若无效,输出not find if ($searchLi.length <= 0) { $("#content_news_list").html("<li>not find</li>") } }) $("input[type=submit]").click(function () { $("searchText").change(); }) }) </script>
キーワードによってリストから要素を取得し、ul に追加します。
ここで、 $(':contains(text)')
は、指定された文字を含む要素を取得します。文字列は、要素に直接含まれるテキスト、または子要素に含まれるテキストになります。 $(':contains(text)')
获取包含指定字符的元素,该字符串可以是直接包含在元素中的文本,或者被包含于子元素中。
此方法中就是通过判断所获取的元素知否包含所搜索的字符,来实现简单的检索功能。
但是却存在兼容问题,无法兼容IE,在获取元素parent()
parent()
を取得するときにコンテンツをリストに書き込むことができません。
jQueryは検索機能を実装し、検索関連コンテンツを表示します
以上がjQueryの簡易フロントエンド検索機能の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。