【问题标题】:what is better: data or attr?什么更好:数据或属性?
【发布时间】:2011-01-05 20:53:23
【问题描述】:

什么更好?

var itemId=8;
$('#aaa').data('ItemId', itemId);
$('#aaa').attr('ItemId', itemId);

数据还是属性?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    它们有不同的用途。

    • 如果要存储与元素关联的一般数据,请使用.data()
    • 如果要更改 DOM 元素的属性,请使用.attr()

    不要“发明”新属性(来自HTML5 data attributes)。但是当您使用 jQuery 时,请坚持使用 .data()

    【讨论】:

    • 我可以添加属性:$('a').attr('blabla',7);就像
    • @Naor:我知道你可以,但你不应该这样做。
    • 为什么? data 不是比 attr 更慢吗?
    • @Naor:这与速度无关。这是关于正确性的。如果您向 DOM 元素添加自定义属性,那么您将创建无效的 HTML(理论上)。 DOM 属性不用于存储任意数据。每种类型的元素都有一组明确定义的属性,您不应添加自定义属性。data() 用于将任意数据与元素相关联。
    • @Naor:我已经告诉过您:您不应该添加自定义属性,因为 DOM 元素具有一组明确定义的属性(如果您添加自定义属性,您的文档将不再有效那些)。仅仅因为它是可能的并不意味着它是一个好主意。也许你想读这个:stackoverflow.com/questions/1735230/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2011-04-11
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多