変更できないいくつかのストラットコードによって生成された次の要素があります。
<input type="hidden" name="versions[0].elements[0].description">
私は通常、次のようなものを使用します$('input[name=XXX]');
ただし、私の名前には特殊文字が含まれているため、エスケープできる必要があります。何か案は?
ありがとうW
変更できないいくつかのストラットコードによって生成された次の要素があります。
<input type="hidden" name="versions[0].elements[0].description">
私は通常、次のようなものを使用します$('input[name=XXX]');
ただし、私の名前には特殊文字が含まれているため、エスケープできる必要があります。何か案は?
ありがとうW
次のように、name変数を引用符で囲む必要があります。
$('input[name="versions[0].elements[0].description"]');
この場合、属性値はjQueryによって文字列リテラルとして内部的に扱われるため、エスケープする必要はありません。
メタ文字(! "#$%&'()* +、。/ :; <=>?@ [] ^` {|}〜など)を名前のリテラル部分として使用するには、 2つの円記号でエスケープする必要があります:\
だからあなたの場合:
$('input[name="versions\\[0\\].elements\\[0\\].description"]');
入力名にパターンがある場合は、を使用して^=
、何かで始まる名前を$=
選択したり、末尾を選択したり、*=
何かを含む入力を選択したりできます。例えば:
$('input[name$="description"]')
名前が説明で終わる入力を選択します。
アイデア1:入力要素にcssクラスを追加します。例:
<input type="hidden" name="versions[0].elements[0].description" class="version-desc">
次に、それを取得するには:
var $inputs = $("input.version-desc");
各特殊文字の前に2つの円記号を使用します。
例えば
$('input[name=\\XXX\\]')