深く入れ子にされたリスト(10レベル)があり、そのリストをフィルタリングして、私が検索した<li>
を得ることができます。もし<li>
に子供がいたらさて、ここで複数レベルのリストをフィルタする
$(document).ready(function() {
$("#filter").keyup(function() {
var filter = $(this).val();
$("li").each(function() {
if (filter == "") {
$(this).css("visibility", "visible");
$(this).fadeIn();
} else if ($(this).text().search(new RegExp(filter, "i")) < 0) {
$(this).css("visibility", "hidden");
$(this).fadeOut();
} else {
$(this).css("visibility", "visible");
$(this).fadeIn();
}
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="filter" type="text" />
<ul>
<li>Tom</li>
<li> <a>Peter</a>
<ul>
<li> <a>John</a>
<ul>
<li> <a>Doe</a>
<ul>
<li> <a>Shia</a>
</li>
</ul>
</li>
</ul>
</li>
<li><a>Nicolas</a>
</li>
<li><a>Reem</a>
</li>
</ul>
</li>
<li><a>Danial</a>
<ul>
<li> <a>Adam</a>
</li>
</ul>
</li>
</ul>
...コードの例ですが、私は私が探し<li>
を得ることができたが、私はそれが目に見える子供たちをだ維持する方法を見つけ出すことはできません彼に何かがある場合は開いてください。
注:私がここに掲載したコードを再利用する必要はありません。可能であれば、より良い、より柔軟な実装を投稿することができます。
を追加します。あなたが 'nextUntil'を使ってあなたの望むようにあなたの関数を書き直すことができると確信しています:https://api.jquery.com/nextUntil/ – jmargolisvt
実例を教えてもらえますか? – Ruby