我正在尝试使用jQuery构建DOM,并使用AJAX(data type = json)接收的数据填充它.我还想将这些数据存储为一个附加到特定DOM元素的对象.jQuery是否为此提供了任何方法?我想这样做的原因是因为最初只显示部分数据; 以后可能需要其他数据,具体取决于用户操作.
我尝试使用attr(),但它存储一个字符串"[object Object]"而不是一个实际的对象:
var div = $('<div/>');
div.attr('foo', {bar: 'foobar'});
alert(div.attr('foo')); // gives "[object Object]"
alert(typeof div.attr('foo')); // gives "string"
alert(div.attr('foo').bar); // gives "undefined"
Run Code Online (Sandbox Code Playgroud)
另一种方法是通过"绕过"jQuery(div[0].foo = {bar: 'foobar'};),虽然这似乎是一个"肮脏的解决方法",如果jQuery恰好已经支持附加对象.
有任何想法吗?提前致谢!
Nic*_*ver 13
您可以.data()出于此目的使用,如下所示:
div.data('foo', { bar: 'foobar' }); //sets it
var obj = div.data('foo'); //gets it
Run Code Online (Sandbox Code Playgroud)
您可以通过更改.attr()为.data():在此处查看示例代码.
var div = $('<div/>');
div.data('foo', {bar: 'foobar'});
alert(div.data('foo')); // gives "[object Object]"
alert(typeof div.data('foo')); // gives "object"
alert(div.data('foo').bar); // gives "foobar"??????????????
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4335 次 |
| 最近记录: |