2017-09-28 35 views
0

誰かがこの質問を以前に尋ねたことは知っていますが、私は運がなければ答えを見つけようとしました。正確な部分文字列が文字列内にあるかどうか確認してください。

文字列内に正確な部分文字列があるかどうかを調べようとしています。例えば

私は「英数字の文字」と一致するのではなく、クラス名は、英数字であれば、私が好きな多くのオプションを試してみた

試合ではありませんしたい

<input class="form-control alphanumeric-chars" /> 

$('input').filter(function() { 
    return $(this).className.includes('alphanumeric-chars'); 
}) 

それとも

return $(this).className === 'alphanumeric-chars'; 

私は何が不足しているか考えていますか?

+0

をクラス名「英数字文字」を持っているだけで、それらの入力を選択するには、 'hasClass'は役立つかもしれません。 [here](https://api.jquery.com/hasclass/)を参照してください。 jQueryのなし –

+0

'element.classList.contains(「クラス名」)の全ての中で' – Walk

答えて

2

filterの必要はありません。ただ、続くように、クラスセレクタを使用

$('input.alphanumeric-chars') 
+0

この1つははるかに良いもあります。+すぎ –

+0

すごい私の答えを1.deleted ... 'fdslajfldsaalphanumeric-charsDoYouGetThis' –

1

なぜあなたは条件に基づいて何かをしたい場合は、hasClass()のために行っていません!

if($(this).hasClass('className')){ 
    //do some code. 
} 
else{ 
    //do else part 
} 
0

あなたはjqueryのを使用する場合は、複数のオプションがあります。

$(this).hasClass('alphanumeric-chars') 

たり、jqueryの使用しない場合:あなたは '英数字文字' なしですべての入力をしたい場合は

this.className.indexOf('alphanumeric-chars') // return -1 if not found, >= 0 if found 

をあなたはこれを行うことができます:

$('input:not(.alphanumeric-chars)') 
+0

文句を言わない仕事をクラス属性になっていますが、ここでは十分安全です – Tushar

+0

のための非常にシンプルおかげ – ekans

0

複数の方法は、クラスを見つけるために

  1. $('input.alphanumeric-chars') //

  2. $('.alphanumeric-chars') //すべての要素を選択し、クラス名「英数字文字」を持っているだけで、それらの入力を選択し、クラス名「英数字文字」

  3. を持っています
  4. $('[class="alphanumeric-chars"]') //すべての要素を選択するには、クラス名「英数字文字」

  5. $('input[class="alphanumeric-chars"]') //を持っているだけで、それらの入力を選択クラス名「英数字文字」

  6. $('input').hasClass('alphanumeric-chars') //あなたはjQueryのを使用しているので

関連する問題