jQueryでIDやNAMEに「[」「]」が入っている場合の注意

気がつくまでに時間がかかってしまったのでメモ。

 

フォームからポストされたデータをサーバ側で受け取るとき、フォーム要素の名前がname[0]というような形にしておくと、サーバ側では配列として扱うことができて便利です。

 

でも、IDやNAMEに「[」や「]」をつけている場合、jQueryでは正しく取り扱うことができません。これは、「[」「]」という文字がjQueryセレクタで意味のある文字だからです。

 

ということで、バックスラッシュを2つつけて$("#name\\[0\\]")というようにしないとダメ。