1

'hi*'のようなIDを持つすべての要素を数える必要があります。

たとえば、以下のマークアップがある場合:

<div id="hi1"></div>
<div id="hi2"></div>

数値は「2」である必要があります。

ウェブで私はこれを見つけました:

var num = $('.insttip:regex(id,'+ id[0] + '*').length;

しかし、これは機能していません:(ありがとうございます!

4

4 に答える 4

2

jsBinデモ

試してみてください:

var num = $('div[id^=hi]').length;

^セレクターはを意味しますstarts with。お役に立てれば

于 2012-06-28T21:01:40.890 に答える
1

jQueryプラグインを使用せずに要素の属性に対して正規表現をテストする場合は、を使用してこれを行うことができます.filter()。例:

$('div').filter(function () {
    return /^hi.*$/.test(this.id);
});

または、数字のみが必要な場合:

$('div').filter(function () {
    return /^hi\d+$/.test(this.id);
});

この場合、[id^="hi"]他の回答で文書化されているようにセレクターを使用できます。ただし、これは正規表現を使用する一般的な方法ではありません。この.filter()メソッドは、組み込みのjQueryセレクターよりも柔軟性が高いため、一般的には使い慣れた優れたメソッドです。

于 2012-06-28T21:09:24.213 に答える
0

これを試して:

$('div[id^="hi"]').length;
于 2012-06-28T21:02:08.760 に答える
0

この場合、特定のjQueryセレクターがあります

あなたはこのようなことをすることができます:

$('div[id^="hi"]').length
于 2012-06-28T21:02:40.750 に答える