jQuery性能优化指南(1)

jQuery UI 1.7.2 中文详细文档与实践指南 jQuery UI是基于jQuery库的一个用户界面(UI)工具集。它包括丰富的交互式小部件、动画效果、主题和高级交互功能,旨在通过这些组件和工具丰富网页的用户体验。jQuery UI Effect组件为网页元素提供了丰富的视觉变化效果,包括淡入淡出、滑动、淡入淡出和显示隐藏等。在网页设计中,特效不仅能够提升用户体验,还能引导用户视线,强调交互元素。常用特效有:blind: 元素以卷帘效果显示或隐藏。clip: 元素以剪切效果显示或隐藏。drop。 阅读详情
1,总是从ID选择器开始继承
 
在jQuery中最快的选择器是ID选择器,因为它直接来自于JavaScript的getElementById()方法。

例如有一段HTML代码:

 

 <div id="content">
<form method="post" action="#">
<h2>交通信号灯</h2>
<ul id="traffic_light">
<li><input type="radio" class="on" name="light" value="red" /> 红色</li>
<li><input type="radio" class="off" name="light" value="yellow" /> 黄色</li>
<li><input type="radio" class="off" name="light" value="green" /> 绿色</li>
</ul>
<input class="button" id="traffic_button" type="submit" value="Go" />
</form>
</div>

 

如果采用下面的选择器,那么效率是低效的。
var traffic_button = $("#content .button");

因为button已经有ID了,我们可以直接使用ID选择器。如下所示:
var traffic_button = $("#traffic_button");

当然 这只是对于单一的元素来讲。如果你需要选择多个元素,这必然会涉及到 DOM遍历和循环,
为了提高性能,建议从最近的ID开始继承。
如下所示:
var traffic_lights = $("#traffic_light input");

2,在class前使用tag(标签名)

在jQuery中第二快的选择器是tag(标签)选择器( 比如:$("head") )。
跟ID选择器累时,因为它来自原生的getElementsByTagName() 方法。

继续看刚才那段HTML代码:

 

 <div id="content">

<form method="post" action="#">

<h2>交通信号灯</h2>

<ul id="traffic_light">

<li><input type="radio" class="on" name="light" value="red" /> 红色</li>

<li><input type="radio" class="off" name="light" value="yellow" /> 黄色</li>

<li><input type="radio" class="off" name="light" value="green" /> 绿色</li>

</ul>

<input class="button" id="traffic_button" type="submit" value="Go" />

</form>

</div>

 

比如需要选择 红绿 单选框,
那么可以使用一个tag name来限制(修饰)class ,如下所示:
var active_light = $("input.on");
当然也可以结合 就近的ID,如下所示:
var active_light = $("#traffic_light input.on");


在使用tag来修饰class的时候,我们需要注意以下几点:
 (1) 不要使用tag来修饰ID,如下所示:
  var content = $("div#content");
  这样一来,选择器会先遍历所有的div元素,然后匹配#content。
 (好像jQuery从1.3.1开始改变了选择器核心后,不存在这个问题了。暂时无法考证。)

 (2)不要画蛇添足的使用ID来修饰ID,如下所示:
  var traffic_light = $("#content #traffic_light");

3,将jQuery对象缓存起来

把jQuery对象缓存起来 就是要告诉我们 要养成将jQuery对象缓存进变量的习惯。
下面是一个jQuery新手写的一段代码:

 

 $("#traffic_light input.on").bind("click", function(){ });
$(
"#traffic_light input.on").css("border", "1px dashed yellow");
$(
"#traffic_light input.on").css("background-color", "orange");
$(
"#traffic_light input.on").fadeIn("slow");

 

但切记不要这么做。

我们应该先将对象缓存进一个变量然后再操作,如下所示:

 

 var $active_light = $("#traffic_light input.on");
$active_light.bind(
"click", function(){ });
$active_light.css(
"border", "1px dashed yellow");
$active_light.css(
"background-color", "orange");
$active_light.fadeIn(
"slow");

 

记住,永远不要让相同的选择器在你的代码里出现多次.

注:(1)为了区分普通的JavaScript对象和jQuery对象,可以在变量首字母前加上 $ 符号。
 (2)上面代码可以使用jQuery的链式操作加以改善。如下所示:

 

 var $active_light = $("#traffic_light input.on");
$active_light.bind(
"click", function(){ })
.css(
"border", "1px dashed yellow")
.css(
"background-color", "orange")
.fadeIn(
"slow");

 

如果你打算在其他函数中使用jQuery对象,那么你必须把它们缓存到全局环境中。
如下代码所示:

 

 // 在全局范围定义一个对象 (例如: window对象)

window.$my
= {

head : $(
"head"),

traffic_light : $(
"#traffic_light"),

traffic_button : $(
"#traffic_button")

};

function do_something(){

// 现在你可以引用存储的结果并操作它们

var script = document.createElement("script");

$my.head.append(script);

// 当你在函数内部操作是, 可以继续将查询存入全局对象中去.

$my.cool_results
= $("#some_ul li");

$my.other_results
= $("#some_table td");

// 将全局函数作为一个普通的jquery对象去使用.

$my.other_results.css(
"border-color", "red");

$my.traffic_light.css(
"border-color", "green");
}
//你也可以在其他函数中 使用它
jEasyUI 1.3.6及中文API+示例教程 jEasyUI是一个基于jQuery的前端UI框架,它提供了一整套丰富的组件,用于开发现代网页的交互界面。第1.3.6版新增了对移动设备的支持,同时对原有组件进行了性能优化和功能增强,使得开发出的界面能够更好地满足不同设备和场景的使用需求。jEasyUI的设计理念是通过简单的API,快速构建出美观且功能强大的Web应用。它不需要复杂的配置,通过简单的HTML标记和JavaScript调用,就可以将复杂的界面元素快速地添加到网页中,极大地简化了前端开发流程。 阅读详情

相关推荐

QGIS-空间分析-核密度分析

本文在QGIS软件中使用核密度估计法分析全球历年的地震数据,旨在分析出地震频发且严重的区域,为地震防控提供参考依据。全球历年地震数据来源于网络,仅用于技术学习探索。通过核密度分析,可以观察到南美、美国西部海岸线和太平洋北部区域在全球地震分布状态中是最为集中和强烈的。

imxiezy的博客 2467

【C++】C++代码性能优化的方法(全网最适用)

本文将总结并详细介绍C++代码性能优化的方法,旨在为C++开发者提供一个全面、实用的性能优化指南。无论你是刚入门的新手,还是有经验的开发者,都能从中找到适用于你的优化技巧。

测试开发自动化 1万+

FFTW库安装与使用(3.3.5版本)

FFTW库安装与使用一、FFTW库介绍与下载二、FFTW库安装三、FFTW库测试 一、FFTW库介绍与下载   FFTW ( the Faster Fourier Transform in the West) 是一个快速计算离散傅里叶变换的标准C语言程序集,其由MIT的M.Frigo 和S. Johnson 开发。可计算一维或多维实和复数据以及任意规模的DFT,且运行速度比Eigen和opencv自带的FFT库函数快10倍以上。   下载链接:http://www.fftw.org/install/wind

Jhon_ranble的博客 2万+

C++程序的性能优化方法

需要注意的是,性能优化并非一成不变,不同的优化手段和技术在不同的环境和场景下效果不同,优化时需要进行测试和评估,权衡优化的代价和收益,选择合适的优化策略。注意循环的性能:循环是程序中经常出现的重要部分,优化循环的性能对整体性能有很大的影响。减少内存分配和释放:频繁的内存分配和释放操作会带来较大的性能开销,可以通过预分配内存、重用对象等方式来减少内存分配和释放的次数,提高程序性能。注意编译器的优化选项:现代编译器提供了许多优化选项,可以通过调整编译器的优化选项来提高程序的性能。

liuchengzhu的专栏 763

台式机ubuntu系统屏幕无法调节的问题(已解决)(汇总)

背景:新配了一台主机,安装了双系统,windows下屏幕在带鱼屏上显示良好,但Ubuntu系统屏幕拉伸严重。 问题描述:系统没有适应屏幕被整个拉伸了,进入设置界面,显示Built-in Display,分辨率只有1024*768无法设置。 尝试一:网上最多的方法就是使用xrandr, 结果显示:xrandr:Failed to get size of gamma for output default 尝试二: 第一次进入命令行页面:login:填你的用户面 password:使用字母上方的数字键输入你的密码

weixin_45626706的博客 4625

智能变电站协议系列-1、GOOSE、SV、MMS协议简介及GOOSE示例运行问题(IEC61850)

目前有一个新的研究,关于电网使用的GOOSE、SV、MMS协议,并使用相关库来做一下测试。由于goose、sv、mms等都属于IEC61850,因此,需要对IEC61850相关内容有一些了解,都是国际标准,属于电气自动化的一部分,对于自动化或者电气相关领域有接触的专业应该或多或少有一些了解。IEC61850目标是用于变电站自动化、分布式能源、水力和天然气发电厂、风力发电厂、电动汽车作为分布式能源等领域,目前似乎在变电站自动化方面的推广和使用更加广泛。

逍遥游的博客 2万+

《C++性能优化指南》

优化是一门实验科学,所以需要调试和分析。 优化性能的领域:小型嵌入式设备和移动设备、大型服务器、分布式计算等计算资源有限的场合。 (1)C++ 代码优化策略总结: 1. 用好的编译器并与好编译器 (1)使用支持C++11的编译器,-std-c++11, (2)打开编译器的优化选项,-O2,但是代码调试过程会变的困难 (3)打开函数内联优化选项,inline (4)编译器编译出的程序性能:...

ak18888的博客 1988

YOLOv11损失函数原理与源码解读:从调参血泪史到源码级优化

本文深入解析YOLOv11目标检测模型的损失函数设计,揭示其相比前代的关键改进。重点剖析了回归损失中动态权重的小目标优化、分类损失的带温度系数softmax、以及目标损失的自适应阈值机制等创新点。作者通过源码分析指出常见实现陷阱,如梯度回传的正确处理方式、标签分配的匹配策略等。结合实战经验,给出针对小目标检测、类别误判等典型问题的调参建议,并分享实用的调试工具代码片段。最后强调损失函数调参需结合具体任务,指出后处理对实际部署效果的重要影响。全文以工程实践为导向,为开发者提供可直接落地的优化思路。

as1225120794的博客 441

【C++性能优化指南】:10、优化数据结构

1、理解标准容器库 STL 对于性能优化 的重要特性:   1、对于插入和删除操作的性能开销的 大O标记 的性能保证   2、向 序列容器 添加元素具有分摊常时性能开销   3、具有精准地掌控容器的 动态内存分配 的能力 1、序列容器【元素顺序 = 插入顺序】 string vector deque list forward_list 下标 √ √ √ 中插 O(n) O(n) O(n) O(1) O(1) 尾插 O(1) O(1) O(1) O(1) Iterato.

哥特的博客 854

热力学仿真软件:SimScale_(1).SimScale入门与基础操作

导航栏:位于页面顶部,包含项目管理、仿真设置、结果分析等主要功能。项目列表:展示用户创建的所有项目。工作区:用于进行具体的操作,如几何建模、网格划分、边界条件设置等。控制台:显示操作日志和仿真进度。网格划分是将几何模型离散化为一系列小单元的过程,这些单元用于求解热力学方程。SimScale提供了多种网格划分方法,包括结构化网格和非结构化网格。SimScale提供了丰富的API接口,用户可以通过编程语言进行二次开发,实现自动化仿真和结果分析。项目管理:创建、删除和管理项目。几何建模:创建、导入和修复几何模型。

kkchenjj的博客 1867

基于深度学习的人脸识别考勤管理系统,采用YOLOv11和Dlib算法实现人脸识别和考勤签到,前台人脸识别和签到系统 + 后台人脸和考勤管理系统,全网独发

基于深度学习的口罩人脸识别的考勤管理系统,采用YOLOv11和Dlib算法实现人脸识别和考勤签到,前台人脸识别和签到系统 + 后台人脸和考勤管理系统,全网独发

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1825

《C++性能优化指南》——粗学学习笔记

c++性能优化,摘抄自书籍《c++性能优化指南》,原著Kurt Guntheroth,杨文轩译

Bella1990的博客 399

推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐,业界广告推荐技术最新进展

推荐算法其实本质上是一种信息处理逻辑,当获取了用户与内容的信息之后,按照一定的逻辑处理信息后,产生推荐结果。热度排行榜就是最简单的一种推荐方法,它依赖的逻辑就是当一个内容被大多数用户喜欢,那大概率其他用户也会喜欢。但是基于粗放的推荐往往会不够精确,想要挖掘用户个性化的,小众化的兴趣,需要制定复杂的规则运算逻辑,并由机器完成。召回:当用户以及内容量比较大的时候,往往先通过召回策略,将百万量级的内容先缩小到百量级。

丨汀、的博客 7591

jQuery性能优化指南 [1]

作者:Rlog 时间: 2009-05-26 文档类型:翻译 来自:Time Machine [url]http://www.blueidea.com/tech/web/2009/6737.asp[/url] 为了方便大家学习和我以后的学习方便 真理了一下 (oo)(oo)(oo)(oo) [code="java"] 现在jquery应用的越来越多, 有些同学在享受爽快淋漓coding时...

guosong20120327的博客 165

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

jQuery性能优化指南(1)

jQuery性能优化指南(1) jQuery性能优化指南(2) jQuery性能优化指南(3) Jquery相信你也会使用了,在使用过程中你关注过性能问题吗?又如何优化性能呢?下面请跟我一起来看下面的文章来优化Jquery性能,做最棒的JS编程。1. 总是从ID选择器开始继承在jquery中最快的选择器是ID选择器. 因为它直接来自于Javascript的getElementById()...

开发笔记 129

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jQuery 性能优化指南 (1)

在jQuery中最快的选择器是ID选择器,因为它直接来自于JavaScript的getElementById()方法。 例如有一段HTML代码: CODE:<div id="content"> <form method="post" action="#"> <h2>交通信号灯</h2> <ul id="traffic_light"> ...

weixin_30438813的博客 52

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jQuery性能优化指南

jQuery性能优化指南现在jquery应用的越来越多, 有些同学在享受爽快淋漓coding时就将性能问题忽略了,  比如我.  jquery虽在诸多的js类库中性能表现还算优秀, 但毕竟不是在用原生的javascript开发, 性能问题还是需要引起重视的. 在twitter上发现了jQuery Performance Rules>这篇文章, 简单的摘译了一下:总是从ID选择器开始

1627

jQuery框架常用的性能优化

jQuery作为一个JavaScript非常优秀的库 是我们在学习前端过程中必学的 虽然它的流行程度已经没有那么巅峰了 但是学习了它对我们学习理解其他框架来说很有帮助 今天第一次写jQuery的相关文章,就先把这个性能问题拿出来 因为大家把时间都用在jQuery语法上了,对这个框架的性能优化不是很了解 下面我来给大家总结一下jQuery常用的性能优化 选择器的使用 jQuery

尐轩web前端网络日志 1872

jQuery DOM操作深度解析:从选择器到性能优化的完整指南

DOM(文档对象模型)是Web开发中浏览器解析HTML文档形成的树形结构,它是前端交互的基石。其核心原理在于通过JavaScript动态操作DOM节点,实现页面内容的增删改查与样式更新,这一能力直接决定了Web应用的交互体验与性能表现。在技术价值层面,高效的DOM操作能显著提升页面响应速度、优化渲染性能,并确保复杂交互的流畅性。无论是构建动态表单、实现实时数据展示,还是开发交互式UI组件,DOM操作都是不可或缺的核心技术。本文聚焦于jQuery这一经典库,深入剖析其强大的选择器系统、链式遍历方法以及事件委托

weixin_30509393的博客 450

jQuery的性能优化

摘要: 我一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些。找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来   我一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些。找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来     ===========================

it_man的专栏 1700
上一篇: 使用选择器和事件
下一篇: jQuery性能优化指南(2)
fisea
博客等级 码龄19年 40粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值