Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在使用JQuery创建或删除数十个div时,如何优化性能?

在使用JQuery创建或删除数十个div时,如何优化性能?
EN

Stack Overflow用户
提问于 2010-01-14 18:34:54
回答 3查看 530关注 0票数 3

后台:在我正在进行的当前项目中,我创建了一个jquery插件,它创建了一个可拖式的‘google’-esque地图,由许多块组成。类似于谷歌地图的工作方式,但此时没有缩放。

这个地图插件创建并破坏了使用jQuery的<div>$('..').append每个鼠标拖动10-20块块,并且它具有良好的性能。但我希望表现得更好,以便使资源较少的计算机用户更容易访问该应用程序。

问题:

我能做些什么来最大限度地提高性能,使用jQuery创建和销毁大量的div?

通过修改要删除的现有元素来重用生成的<div>元素,比从头创建它们更有利于性能吗?

使用生成的$('<div>')创建元素比选择和更改已经存在的元素上的类和子元素要慢还是快?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-14 18:37:15

创建DOM元素非常昂贵。尽量避免。尽管如此,新发布的jQuery 1.4显然提高了性能,但如果可以的话,仍然可以避免它。

来自jQuery 1.4发布

jQuery(“<div>”) jQuery(“<div/>”) jQuery(“<div></div>”) (jQuery()文档提交) 这三种方法现在都使用相同的代码路径(使用document.createElement),从而提高了jQuery("<div></div>")的性能。注意,如果指定属性,则使用浏览器的本机解析(使用innerHTML)。

是的,再利用要好得多。

票数 4
EN

Stack Overflow用户

发布于 2010-01-14 18:38:56

提示之一--如果您要在DOM中追加一组项,请将它们构建为字符串(如果可能的话),并同时追加所有项。

下面是关于这个主题的一个很好的链接:

http://www.artzstudio.com/2009/04/jquery-performance-rules/#limit-dom-manipulation

票数 3
EN

Stack Overflow用户

发布于 2010-01-15 10:34:16

在最近的一个JQuery项目中,我将500个IMG-tags定位在style-tag和绝对位置上。结果表明,删除它们并使用新的坐标重新创建它们要比用stylecss-函数修改JQuery -tag要快得多。(替换整个style-tag可能会更快,但在这种情况下是不可能的。)

我还测量到,使用所有IMG-tags构建字符串并将它们添加到一个附加中比一个接一个地添加字符串要快(大约10-15%) (浏览器不需要重新绘制吗?)

在您的例子中,应该很容易度量这两种不同的方法:

代码语言:javascript
运行
AI代码解释
复制
var start = new Date().getTime();

// Do the update here

var end = new Date().getTime();
$('#redraw').html(end - start);

在HTML中添加一个占位符:

代码语言:javascript
运行
AI代码解释
复制
Redraw: <span id="redraw"></span>ms
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2069080

复制
相关文章
Ubuntu安装时出现黑屏问题的解决
问题描述:Ubuntu使用光盘/USB安装时,出现"install ubuntu/ try ubuntu without installation"选择,但是Enter安装时,显示器显示没有信息,进行休眠
知忆
2021/06/07
14.1K0
在Ubuntu上安装Minikube
为了方便开发者体验Kubernetes,社区提供了可以在本地部署的Minikube。由于在国内网络环境内,无法顺利的安装使用Minikube,我们可以从阿里云的镜像地址来获取所需Docker镜像和配置。
mazhen
2023/11/24
1K1
在Ubuntu上安装ReviewBoard
因为ReviewBoard在Windows上停止更新了,所以了解如何在Linux系统安装ReviewBoard是很有必要的。笔者只在Apache+MySQL+Ubuntu下实现过,其余均参考官方安装文档:http://www.reviewboard.org/docs/manual/dev/admin/installation/linux/。 [Note] 安装过程中如碰到报错问题,自行谷歌或者百度,大部分均可解决。有些是软件版本问题,比如之前用Ubuntu 12.04有个软件包用easy_install安装的版本一直低于安装ReviewBoard的要求,升级成Ubuntu 13.04之后就没问题了。
星哥玩云
2022/07/01
1.6K0
在 Ubuntu 上安装 MySQL
在 Ubuntu 中安装 Mysql 最方便方式是用 MySQL 自己的 APT 仓库。 APT 仓库中包含了 MySQL 的服务器和工具相关的软件。我们需要将此 MySQL APT 仓库添加到系统的包源列表中。
不惑
2023/09/23
1.3K0
在自己的电脑上安装GitBook For Mac
之前写了一篇 在自己的服务器上安装GitBook ,发布于 2015-04-20,当时的安装环境是 CentOS 6.X_64Bit,今天想再研究一下这个 GitBook ,发现在基于 Linux 内核的机器上安装基础功能很简单,但是牵涉到生成 pdf/epub/mobi 格式的书籍时,安装calibre的代价非常大(因为要安装 N 多前置库),对于不是非常非常熟练使用 Linux 的用户,几乎是一种灾难。
他叫自己MR.张
2019/07/01
3K0
在Ubuntu上安装使用CouchPotato
CouchPotato(https://couchpota.to/)是开源的自动种子下载器,它是免费的影视资源搜索器,您只要输入资源的名称和或关键词,即可进行后台搜索,支持下载字幕,支持通过bt软件下载。CouchPotato使用C/S架构,Python开发。 CouchPotato源代码:https://github.com/CouchPotato/CouchPotatoServer CouchPotato (CP) is an automatic NZB and torrent downloader.
Zip
2018/07/20
3.3K0
在Ubuntu 16.04上安装Rancher
Rancher是运行容器和构建私有容器服务的开源平台。 Rancher基于Docker,因此您可以在专用的box,KVM机器上甚至LXC容器上运行它。 Rancher提供了一个庞大的应用程序库,只需点击几下即可安装,并且还支持来自Dockerhub的Docker镜像。
星哥玩云
2022/07/12
1.7K0
在Ubuntu上安装Oracle JDK
如果不想使用Ubuntu提供的OpenJDK,想使用Oracle的版本。可以进行如下操作
EltonZheng
2021/01/26
1.4K0
在Ubuntu上单机安装Hadoop
最近大数据比较火,所以也想学习一下,所以在虚拟机安装Ubuntu Server,然后安装Hadoop。
深蓝studyzy
2022/06/16
1.1K0
在Ubuntu 16.04上安装WordPress
在本指南中,您将学习如何在运行Ubuntu 16.04的Linode上安装WordPress。WordPress是一个流行的动态内容管理系统,专注于博客。WordPress可以部署在LAMP或LEMP堆栈上,并具有广泛的插件框架和主题系统,允许网站所有者和开发人员使用其简单但功能强大的发布工具。
Techeek
2018/09/17
5.2K0
在Ubuntu 16.04上安装WordPress
在 Ubuntu 上安装Microsoft Edge[通俗易懂]
1.要安装Microsoft Edge,你首先需要在终端中运行这些命令,在设备上设置微软的存储库。
全栈程序员站长
2022/09/13
2.3K0
在Ubuntu 16.04上安装MediaWiki
MediaWiki是一个流行的免费wiki软件包。它与维基百科使用的软件相同,是完全动态的,可以在LAMP堆栈上运行,利用PHP语言和MySQL数据库后端。通过简单的安装和配置,当您需要用到一个熟悉的、功能齐全的动态wiki引擎时,MediaWiki是一个很好的选择。
物花无语
2018/08/20
3.1K2
在Ubuntu 16.04上安装VNC
虚拟网络计算( Virtual Network Computing ),或称作VNC,是一种图形桌面共享系统,允许您从一台计算机远程控制另一台计算机。VNC服务器传输键盘和鼠标事件,并通过网络连接显示远程主机的屏幕,从而允许您在Linode服务器上运行完整的桌面环境。
苏易北
2018/09/11
6.2K0
在Ubuntu 16.04上安装VNC
在Ubuntu 18.04上安装WordPress
WordPress是一个非常流行的专注于博客的动态内容管理系统(CMS)。WordPress可以部署在LAMP或LEMP堆栈上。它具有的可扩展插件框架和主题系统允许网站所有者使用其简单但功能强大的发布工具。
eru
2018/09/05
7.8K0
在Ubuntu 18.04上安装WordPress
在Ubuntu 16.04上安装Java
Java是世界上最流行的编程语言之一。Java可用于创建从软件到基本Web应用程序的任何内容。
双愚
2018/09/12
1.6K0
在Ubuntu 14.04上安装 Webmin
Webmin是一个开源的基于网页的Unix/Linux系统管理工具。通过使用Webmin,你可以在浏览器上设置和安装所有的系统服务,包括:DNS、DHCP、Apache、NFS和Samba等等。因此,有了这个,你就再也不需要去记住所有的修改配置的命令了。
星哥玩云
2022/07/01
1.8K0
在Ubuntu 14.04上安装 Webmin
在 Ubuntu Linux 上安装 AnyDesk
AnyDesk 是一个流行的远程桌面软件,可用于 Linux、Windows、BSD、macOS 和移动平台。
用户8639654
2021/10/11
3.3K0
在 Ubuntu Linux 上安装 Dropbox
下载相应的 DEB 文件。考虑到你使用的是 64 位的 Ubuntu,请获取 64 位版本的 DEB 文件。
用户9105998
2021/11/22
2.5K0
在Ubuntu 14.04上安装Caffe
http://suanfazu.com/t/ubuntu-14-04-caffe/447/1 安装依赖 sudo apt-get install libatlas-base-dev sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev sudo apt-get install libgflags-dev libgoogle-g
bear_fish
2018/09/19
1.5K0
在 Ubuntu Linux 上安装 Dropbox
下载相应的 DEB 文件。考虑到你使用的是 64 位的 Ubuntu,请获取 64 位版本的 DEB 文件。
用户1685462
2021/09/12
2.1K0

相似问题

如果<img src="">没有图像

52

jQuery附加img src

33

用DomDocument实现img class=的多个src“覆盖图像”

21

基于img src Jquery创建下载链接

11

使用php从img src拉取更改图像

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档