私は次のコードを持っています:
_alert($embellishment.data("embellishmentId"));
alert($embellishment.attr("data-embellishmentId"));
_
最初のアラートはundefined
を返し、2番目のアラートは整数_3
_を返します。
JQueryバージョン1.7.2を使用しています(data
はバージョン1.4で追加されたと思います)
どうしてこれなの?正しい値を返さない場合、data()
を使用する必要がありますか?
OK。 jQuery docs を解釈することで問題を見つけました。
あなたが書くとき:
$embellishment.data("embellishmentId");
jQueryによって複合属性として処理されます。
<div data-embellishment-id="3"></div>
そのため、問題を解決するには、データキーに小文字を使用します。そうしないと、異なる属性に対応するだけになります。
<!-- HTML -->
<div data-embellishmentid="3"></div>
// JavaScript
$embellishment.data("embellishmentid");