jQuery “Syntax error, unrecognized expression” というエラーで Mac Safari のみ不具合が出る原因と対処法

jQueryでセレクトボックスの選択状況に応じて商品金額の合計値をテキストボックスに適用するスクリプトを書いていたのですが、Chrome や Firefox は動く処理が Mac Safari のみ動かない不具合がありました。

エラー確認

エラーを確認すると以下のエラーが出ていました。

Syntax error, unrecognized expression : [name='ag_price'

原因

var ag_price = $("[name='ag_price']").val();

とすべきところが

var ag_price = $("[name='ag_price'").val();

のように name 属性を指定するところの閉じ括弧の記述が漏れていたことが原因でした。

対処法

name 属性の要素指定するところの閉じ括弧を追加することで意図した通り動くようになりました。

var ag_price = $("[name='ag_price']").val();

コメント

タイトルとURLをコピーしました