Jquery.data()用于存储和检索数据

Jquery.data()用于存储和检索数据,jquery,Jquery,我在这个例子中遇到了一个简单的问题,在Firefox错误控制台中得到了“a为null”。没有警报显示。如果我从DOM元素更改为对象,它会工作吗 <!DOCTYPE html> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function() { $('<div>').attr('

我在这个例子中遇到了一个简单的问题,在Firefox错误控制台中得到了“a为null”。没有警报显示。如果我从DOM元素更改为对象,它会工作吗

<!DOCTYPE html>
 <script src="http://code.jquery.com/jquery-latest.js"></script>
 <script>
    $(document).ready(function() {

    $('<div>').attr('id', 'test').appendTo('#ii').text('dfdfd');
    $('#test').data({'rr': 'data', 'tt': 55});
    alert($.param($('#test').data()));
   });
 </script>
    <html>
     <head>

    </head>
   <body>
       <div id="ii"></div>

   </body>
 </html>

$(文档).ready(函数(){
$('').attr('id','test').appendTo('#ii').text('dfd');
$(#test').data({'rr':'data','tt':55});
警报($.param($('#test').data());
});

看起来您想从
#test
而不是
#ii
获取数据:

$('<div>').attr('id', 'test').appendTo('#ii').text('some text');
$('#test').data({'ob1': 'some', 'ob2': 55});
alert($.param($('#test').data()));
$('').attr('id','test')。appendTo('#ii')。text('some text');
$(#test')。数据({'ob1':'some','ob2':55});
警报($.param($('#test').data());


如果此操作不起作用,则id为
#ii
的元素可能不存在。

当您将数据显式附加到
#ii
时,为什么希望数据附加到
#test
,修复了上面的问题。对我有用:你确定在DOM准备好之后运行代码吗?使用Jquery我们讨论的是document.ready?我已经更新了代码,没有任何警报,并且仍然收到a is null错误。