2

ユーザーが検索文字列を入力できるようにし、その検索項目が見つかった回数を返したいと考えています。検索値を「contains」メソッドにハードコーディングすれば、これを機能させることができますが、検索値を変数に格納するとすぐに機能しなくなります。

HTML :

<div class="myTest">this</div>
<div class="myTest">this</div>
<div class="myTest">that</div>
<div class="myTest">that</div>
<div class="myTest">this</div>
<div id="howMany"></div>

ジャバスクリプト

$(function() {
    var myVal= "that";  
    var existingList = $("div:contains(myVal) + .myTest").length;
    $("div[id*='howMany']").html(existingList);
})
4

1 に答える 1

3

コード内のいくつかのエラー:

  • +jQueryセレクターでは、あなたが思っていることをしませ
  • セレクターmyValに値ではなく文字列を含めていますmyVal
  • #指定された ID を持つ要素を探すために使用します

を使用して検索できます

var existingList = $('div.myTest:contains("'+myVal+'")').length;

ただし、これは二重引用符を含む文字列では機能しません。どのような種類の文字列についても、むしろお勧めします

var existingList = $('div.myTest').filter(function(){
    return $(this).text().indexOf(myVal)>=0;
}).length;

見つかった結果の数を発行するには、次を使用します。

$("#howMany").html(existingList);
于 2012-10-26T06:40:12.093 に答える