たとえば、id は
id='_group[3].id.memberid'
を使用して「3」を抽出しようとします
var thisIndex = j(this).attr('id').match('/[\d]+/g')[0];
うまくいきません....
たとえば、id は
id='_group[3].id.memberid'
を使用して「3」を抽出しようとします
var thisIndex = j(this).attr('id').match('/[\d]+/g')[0];
うまくいきません....
標準形式の場合id='_group[3].id.memberid'は、次のことができます
id.split(']')[0].split('[')[1]
質問に正確に答えることはできませんが、そもそも問題を解決する可能性のある代替アプローチを提供するためだけに。
HTMLを変更できる場合は、次のようにします。
HTML
<div id="_group[3].id.memberid" data-id="3"></div>
JS:
var thisIndex = j(this).attr('data-id');
正規表現は少し異なるはずです:
.match(/\[(\d+)\]/)[1];
またはsplit解決策:
.split(/\]|\[/)[1];
正規表現リテラルは文字列であってはなりません。呼び出し内のアポストロフィを削除します.match。
これら[]を文字クラスとして使用する場合は必要ありません。だけ\d+で十分でしょう。それらをリテラルにする場合は、エスケープする必要があります。
/\[\d+\]/
gどちらが望ましいかは疑問です。