gpt4 book ai didi

javascript - 添加 jQuery .data() 与向元素添加 data-xxx 属性

转载 作者:行者123 更新时间:2023-12-02 18:54:47 26 4
gpt4 key购买 nike

因此,您可以通过附加 html 将其添加到文档中。

$game.append('<div data-letter="A">A</div>');

或者你可以:

var game = document.getElementById('game');
var div = document.createElement('div');
$(div).data('letter', 'A');
game.appendChild(div);

我的问题是这些方法中哪一种更可取。

我正在使用数据属性来提高速度,目前我正在使用前一个示例(.append())。效果很好。

但是,当我像这样动态更改该元素的数据时:

$(this).data('letter', 'U');

它更改元素存储在内存中的数据,但不更新属性。本示例中的属性将保留为“data-letter=”A””。同样,一切在幕后都运行良好,当我调用 $(this).data('letter') 时,我得到字母“U”。但这让我质疑是否应该避免数据属性。属性在附加时是否会读取一次,然后上传到内存中,然后属性就会消失。或者是在没有找到 .data() 时读取属性?

我担心是否是后者,因为这无法提供最佳的速度性能。我想确保在附加元素时所有内容都上传到内存中。

最佳答案

当您无法使用data功能时,这些属性非常有用:

  • 生成 HTML 服务器端时
  • 一次性生成一大堆 HTML 时

在其他情况下,没有理由更喜欢将数据作为 HTML 字符串中的属性传递:它只需要更多解析。

请注意,您使用 jQuery 的方式有些冗长。你可以减少

var game = document.getElementById('game');
var div = document.createElement('div');
$(div).data('letter', 'A');
game.appendChild(div);

$('#game').append($('<div>', {data: {letter:'A'}}));

关于javascript - 添加 jQuery .data() 与向元素添加 data-xxx 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15503413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com