HTMLのカスタムデータ属性をjQueryで取得する際はキャッシュに注意する
ASPを使用したサイトでHTMLのカスタムデータ属性を取得し色々処理したかったんだけど、うまく取得できないケースに遭遇した。当該のカスタムデータの値はASP側で制御しているため、外部からは取得できないのかと思ったが色々調べるとjQueryのキャッシュ仕様が原因っぽい。以下に対応方法をメモ。
原因
jQueryのキャッシュの仕様により正常に取得できていない模様。
https://qiita.com/Kta-M/items/2eda39750abd10df9801
https://w3g.jp/blog/jquery-data-attr-cache
対応方法
jQueryだとattr()を使う。もしくはバニラJSで書くのが良さそう。
関連記事
-
-
jQueryにて$.parseHTML()を用いてHTML文字列をDOMノードに変換する方法
あるサイトのソースコードを拝見しているとjQueryで$.parseHTML() ...
-
-
Lightboxで画像拡大時に閉じるボタンの位置を右上に変更
Lightbox(バージョン2.7.1)で画像拡大時に閉じるボタンの位置を右下か ...
-
-
jQueryで配列の値を検索
やりたかった事は、配列の中に特定の値があるか どうか検索し、その後の分岐を行いた ...
-
-
jQueryでshow/hideよりaddClass/removeClassの方が速い
diaplay:none/blockする際に最近はshow()/hide()を ...
-
-
jQueryにて何らかの処理中にブラウザをロックする「Block UI」プラグインの利用方法
jQueryにて何らかの処理中、ユーザーによるクリックや入力等の動作を防ぎたかっ ...