gpt4 book ai didi

javascript - 使用类或 jQuery 数据在 dom 元素上存储数据更快吗

转载 作者:行者123 更新时间:2023-12-01 02:04:11 27 4
gpt4 key购买 nike

我有一个渲染循环,可以在每次迭代时更新多个 DOM 元素的状态。代码必须根据从外部数据源获取的值将表示类应用于每个元素。

例如

var animationFrames = // Result of http get request

for (var i in animationFrames) {
var frame = animationFrames[i];

// This function reads data from the frame variable and updates
// the presentational layer
updateDomElements(frame);
}

var updateDomElements = function (frame) {
var rooms = frame.rooms;

for (var i in rooms) {
var room = rooms[i];

var roomEl = $(room.id);

if (!roomEl.hasClass(room.class)) {
roomEl.attr("class", room.class);
}
}
}

我想知道在 DOM 中存储表示数据的最有效方法是什么?我担心每次迭代时读取类字符串的成本太高。

使用 jQuery data() API 然后设置类会更好吗?有没有我没有想到的更高效的方法?

最佳答案

我找不到我的引用,但据我所知,使用 $.data() 是最快的(比 $(selector).data() 更快) .jQuery 将数据存储在内存中,不使用 DOM。

与 DOM 的任何交互都会比访问内存中的数据值慢。

编辑:在 jQuery.data() 的注释中...这里是 jsPerf test $.data()$(sel).data() 以及 this presentation 的第 51 张幻灯片.

编辑2:这是另一个nice discussion here on SO 。特别是阅读 patrick dw 的评论!

关于javascript - 使用类或 jQuery 数据在 dom 元素上存储数据更快吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5783985/

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