随着jQuery v1.6的新版本和.prop()方法的添加。
在.data()上使用.prop()有本质上的区别吗?
我在文档中看到,在IE9之前的IE版本中,不删除属性可能会导致内存泄漏。但是,使用新的prop()方法是否存在其他性能问题或其他问题?
来自网站的语法:
var $para = $("p");
$para.prop("luggageCode", 1234);在以下方面:
var $para = $("p");
$para.data("luggageCode", 1234);发布于 2011-05-04 02:01:11
我相信prop的目的是设置有效的HTML文档属性,而不是任意的数据。我建议你继续使用luggageCode类型信息的数据。
发布于 2011-05-21 22:56:58
我认为这归结于DOM Node的属性和表示它的Javascript对象的属性之间的区别。
文档没有指定如何或在哪里存储.data()数据,因此您将其视为相关jQuery对象的属性这一事实可能只是一个实现细节。jQuery也将被允许将其存储在任何其他地方。
相反,.prop()当然显式地与DOM节点的属性相关。
发布于 2011-05-04 02:25:05
我可能做错了,但似乎.data() 可以枚举,而.prop() 不能。
var $p = $("<p>");
$p.data('luggagecode', '12345');
$p.data('luggagecode_backup', '54321');
for (var key in $p.data()) { // generates two alerts
var value = $p.data(key);
alert('DATA | '+key+' = '+value);
}
var $p2 = $("<p>");
$p2.prop('luggagecode', '12345');
$p2.prop('luggagecode_backup', '54321');
for (var key in $p2.prop()) { // no alerts
var value = $p2.prop(key);
alert('PROP | '+key+' = '+value);
}https://stackoverflow.com/questions/5873631
复制相似问题