test という名前の順序なしリストがあります
<ul id='test'></ul>
ajax を介して動的にデータが取り込まれます。各項目「li」は、「p」段落を含む div です。各段落にはいくつかの情報が含まれています。
元:
<li> <div> <p> test </p> </div> </li>
<li> <div> <p> hi how is it going?</p> </div> </li>
<li> <div> <p> not a test</p> </div> </li>
<li> <div> <p> whoa</p> </div> </li>
検索語を取得できる検索ボックスもあります。次を使用します。
var searchTerm = $("#search").val().trim().split(' '); // an array of words searched for
私がやろうとしているのは、検索語のすべてまたは一部を含むすべての 'li' 要素を選択する方法を見つけることですが、最善のアプローチ方法がわかりません。
現在、私はこれをやっています:
var results = $('p:contains("'+ searchTerm[0] +'")');
最初の用語で完全一致を取得しますが、1 つだけでなく複数の用語を検索したいです。
「test hi」を検索して 3 つのノードを取得すると、「test」と「hi」が検索されます。私も考えました:
var results2 = $('p').filter(function( index ) {
return ( this +':contains("'+ searchTerm +'")' );
});
誰かが私を正しい方向に向けますか?