'hi*'のようなIDを持つすべての要素を数える必要があります。
たとえば、以下のマークアップがある場合:
<div id="hi1"></div>
<div id="hi2"></div>
数値は「2」である必要があります。
ウェブで私はこれを見つけました:
var num = $('.insttip:regex(id,'+ id[0] + '*').length;
しかし、これは機能していません:(ありがとうございます!
'hi*'のようなIDを持つすべての要素を数える必要があります。
たとえば、以下のマークアップがある場合:
<div id="hi1"></div>
<div id="hi2"></div>
数値は「2」である必要があります。
ウェブで私はこれを見つけました:
var num = $('.insttip:regex(id,'+ id[0] + '*').length;
しかし、これは機能していません:(ありがとうございます!
jQueryプラグインを使用せずに要素の属性に対して正規表現をテストする場合は、を使用してこれを行うことができます.filter()
。例:
$('div').filter(function () {
return /^hi.*$/.test(this.id);
});
または、数字のみが必要な場合:
$('div').filter(function () {
return /^hi\d+$/.test(this.id);
});
この場合、[id^="hi"]
他の回答で文書化されているようにセレクターを使用できます。ただし、これは正規表現を使用する一般的な方法ではありません。この.filter()
メソッドは、組み込みのjQueryセレクターよりも柔軟性が高いため、一般的には使い慣れた優れたメソッドです。
これを試して:
$('div[id^="hi"]').length;