私はかなり簡単な(1つは思いつくでしょう)タスクを持っています。jqueryキーに値を割り当てる.data()は動作しません。
値をポップアップウィンドウに渡し、クリック(進捗またはキャンセル)に基づいて、渡された値を使用してアクションを実行します。
// on click we pass the value to the function testing - so far so good
$('#numbers').delegate('.icondelete', 'click', function(){
testing($(this).attr('data-options'));
});
私はキー
function testing(id){
//we can see that it passed successfully
alert("here it is: " + id);
//push the data into key data-id
$('#dodelete').data('data-id',id);
//but this alert doesn't return the value
alert("it should be here shouldn't it? " + $('#dodelete').attr('data-id'));
}
HTML
<div id='numbers' >
<div class='icondelete' data-options='123' >Set data-options as 123 - click here to test</div>
</div>
<br><br>
<div id='dodelete' data-id=''>landing div</div>
あなたはフィドルhttp://jsfiddle.net/Microbe/cRLfC/4/をチェックアウトする場合は、あなたが見ることができるに代入してみた後、関数に見つかった値を渡します値は関数no probsに渡されますが、私はそれをキーに代入しようとするとそれはしません。
どこが間違っていますか?
aha - yep、それです。だから...理由を説明できますか?私は.attr()がそのキーの値を返したと考えました – Steve
'.attr()'はオブジェクトの属性の値を返します。 '.data()'はオブジェクトの属性としてデータを保存しません。内部のキャッシュに格納します。したがって、 '.data()'で設定したり、 '.attr()'で読み込むことはできません。あなたは '.data(key、value)'で物事を設定し、 '.data(key)'で読み込みます。これがjQuery '.data()'の働きです。 – jfriend00
ライトが点灯します!ありがとう! – Steve