jQueryを使用して目立たないデータを読み取る方法の例は見つかりません。たとえば、以下の
<a id="deleteFile" href="" data="123">Delete file</a>
data
要素から属性を読み取りたい。どうやってするか?
jQueryを使用して目立たないデータを読み取る方法の例は見つかりません。たとえば、以下の
<a id="deleteFile" href="" data="123">Delete file</a>
data
要素から属性を読み取りたい。どうやってするか?
使用したいキーがdata-*
どこにあるかを使用する必要があります。*
<a id="deleteFile" href="" data-file-id="123">Delete file</a>
次に、次のように読むことができます。
$('#deleteFile').data('fileId');
プロパティがからに変換されたことに気付くでしょfile-id
うfileId
。これは、仕様に準拠するために自動的に行われます。また、jqueryは値をそのjavascriptネイティブタイプに変換しようとすることにも注意してください。そのアクセスの値は、Number
文字列ではなくjavascriptになります。0
これは、リーディングがあり、becuase01
がに変換される場合に影響を与える可能性があります1
。値を文字列として明示的に必要とする場合は、次を使用しますattr
。
$('#deleteFile').attr('data-file-id');
attr
また、使用する場合は、キャメルケースのデータプロパティ名だけでなく、完全な属性名をそのまま指定することにも注意してください。
最良の方法は、要素属性を取得することです。
$('#deleteFile').attr('data');
新しいjqueryライブラリバージョン(1.6 i beliveより前)を使用している場合は、jQueryでHTML5データ属性を使用することもできますdata()
。アンカーリンクを次のようなものに変更します
<a id="deleteFile" href="" data-fileid="123">Delete file</a>
その後、あなたは使用することができます
$('#deleteFile').data('fileid');
ただし、これらを同じ意味で使用しないでください。1つの方法のみを使用してください。そうしないと、jQuerydata()
はデータ属性を読み取り、内部キャッシュに保存するだけなので、後で問題が発生する可能性があります。を介して何かをdata()
変更した場合、実際のタグ属性の意味は変更されず、その後は異なる結果が返されdata()
ますattr()
次のようにデータ属性を定義することをお勧めします。
<a id="deleteFile" href="" data-id="123">Delete file</a>
次に、それを読むことができます:
var id = $('#deleteFile').data('id');
attr
これは、このような状況で使用するのはあまり良い考えではありません。
コーディングに固執したい場合は、これを試してみてください
var a = $("#deleteFile").attr("data");