以下のjscriptコードを使用して、順序付けされていないリストをフィルタリングしています。<h3>
検索中に結果のタグを削除しようとしています。バットマンを検索する場合の例私の現在の出力は
Action
Batman
Adventure
このカテゴリの「Adventurecoznoresult」という 見出しを削除する必要があります。
<script type="text/javascript">
(function ($) {
jQuery.expr[':'].Contains = function(a,i,m){
return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase())>=0;
};
function listFilter(header, list) {
var form = $("<form>").attr({"class":"filterform","action":"#"}),
input = $("<input>").attr({"class":"filterinput","type":"text"});
$(form).append(input).appendTo(header);
$(input)
.change( function () {
var filter = $(this).val();
if(filter) {
$(list).find("a:not(:Contains(" + filter + "))").parent().slideUp();
$(list).find("a:Contains(" + filter + ")").parent().slideDown();
} else {
$(list).find("li").slideDown();
}
})
.keyup( function () {
$(this).change();
});
}
$(function () {
listFilter($("#header"), $("#list"));
});
}(jQuery));
</script>
そして私のhtmlは
<div id="wrap">
<h1 id="header">DVD Collection<form class="filterform" action=""><input class="filterinput" type="text"></form></h1>
<h3>Action</h3>
<ul id="list">
<li><a href="#">Batman</a></li>
<li style="display: list-item;"><a href="#">Star Trek (2009)</a></li>
<li style="display: list-item;"><a href="#">Tremors</a></li>
</ul>
<h3>Adventure</h3>
<ul id="list">
<li style="display: list-item;"><a href="#">Ice Age</a></li>
<li style="display: list-item;"><a href="#">Avathar</a></li>
</ul>
</div>