-1

正規表現を使用して、変数に入力フィールドが含まれているかどうかを確認しようとしています。

変数内の html は次のようになります。

<span>test here</span>

また

 <span><input type="text"></span>

私のコードは

//$(this) is be my variable

if($(this).html().match("/<input type='text'>/")){
          console.log('match found')
 }

一致するものを見つけることができないようです。誰でもそれについて私を助けることができますか? どうもありがとう!

4

3 に答える 3

3

どうですか

if ($(this).find('input[type="text"]').length) {
    console.log('match found');
}

が HTML テキストの文字列である場合this(示されているとおり)、同じコードを引き続き使用できます。たとえば、

$('<span>test here</span>').find('input').length // equals 0

$('<span><input tyep="text"></span>').find('input').length // equals 1
于 2013-08-21T22:35:04.677 に答える
1

あなたが何をしようとしているのか正確にはわかりませんが、これは上記と同じ結果になると信じています$(this).find('input[type="text"]')

正規表現を探している場合/input\s+[^>]*type\s*=\s*['"]text['"]/は、そのトリックを行う必要があります。

于 2013-08-21T22:36:47.900 に答える
0

入力タグの正規表現を探している場合、これは基本的なものである可能性があります。

<input .*type=['"]text['"].*/>

これは、type="text" (二重引用符または一重引用符) を持つすべての入力タグとその間のすべての属性に一致します。

入力要素が既にページにある場合は、jQuery をお勧めします。

if($('input[type=text]').length > 0){
   console.log('match found');
}

入力要素は終了タグを必要としないことに注意してください

<input type="text"></input>むしろ<input type="text" />

于 2013-08-21T22:44:13.200 に答える