1

このコード:

if( $('span:contains("'+user_choice+'")').length == 0 )

は、containセレクターを使用し<span>て、ユーザー入力を含む を見つけます。ユーザー入力は、またはまたはなどuser_choiceの数字です。12331

しかし、コードは特定の を見つけることができません。<span>たとえば、ユーザー入力はとおよびを含むすべての数字をuser_choice = 1見つけるからです。正確に特定のものを見つけるだけです。12131 1<span> 1

この目的のためにcontainセレクターは間違っていますか?それを機能させるにはどうすれば修正できますか?

4

4 に答える 4

3

メソッドを使用できますfilter

var len = $('span').filter(function(){
     return $(this).text() == user_choice;
}).length;
于 2013-03-14T10:30:01.797 に答える
3

はい、containsセレクターはあなたの目的には間違っています。名前が示すように、完全に一致する要素だけでなく、指定されたテキストをサブストリングとして含むすべての要素と一致します。

あなたは使用してみることができます.filter()

var matchingElements = $('span').filter(function(index) {
    return $(this).text() === user_choice;
});
if(matchingElements.length === 0) {
    ...
}
于 2013-03-14T10:30:09.987 に答える
1

各関数で試してみてください、それは「スパン」のすべてのタグを比較します

$('span').each(function(){
  if ($(this).text() == "my_choosen_var"){
    return true;
  }
});
于 2013-03-14T10:31:00.297 に答える
1

このようなものはどうですか?

$('span').each(function(){
  if ($(this).html() == user_choice){
   return true;
  }
 });
于 2013-03-14T10:29:24.557 に答える