jQueryで[](角かっこ)をエスケープする

こんにちは、さるまりんです。

フォームを作成するときにこのような名前でフィールドを作成したとします。

<input type="text" name="data[cat1]">

jQueryでこのフィールドを指定するときにどうしよう?と思い考えてみました。

jQueryでinputタグのname属性で指定する際は

$('input[name="name"]')

という書き方をします。

[](角かっこ)が記法の中にありますね。

なので

$('input[name="data[cat1]"]')

としたいところですが、これは動きません。

ではどうするか?

エスケープです。

[]\\(2つのバックスラッシュ文字)でエスケープすることができます。

$('input[name="data\\[cat1\\]"]')

簡単なことなんですが、知りませんでした。忘れないようにメモです。

読んでくださってありがとうございます。

それではまた!