目录
1. 从Google Code加载jQuery
2. 使用备忘单
3. 整合所有的脚本并缩减它们
4. 使用Firebug出色的控制台日志工具
5. 通过缓存最小化选择操作
6. 最小化DOM操作
7. 处理DOM插入操作时,将需要的内容包装在一个元素中
8. 尽可能使用IDs而不是classes
9. 给选择器提供上下文
10. 正确使用方法链
11. 学会正确使用效果
12. 了解事件代理
13. 利用classes存储状态
14. 更好的方法是利用jQuery内置的data()方法存储状态
15. 写你自己的选择器
16. 精简你的HTML并在页面加载后修改它
17. 为了速度和SEO方面的考虑,延迟加载内容
18. 使用jQuery提供的工具函数
19. 使用noConflict重命名jQuery对象
20. 如何得知图片已加载完毕
21. 总是使用最新版本
22. 如何检查元素是否存在
23. 给你的HTML属性增加JS类
24. 返回'false'以防止默认行为
25. ready事件的简写
16. 精简你的HTML并在页面加载后修改它
这个标题可能没有多大意思,但是这个技巧可能理顺你的代码、减小代码体积和页面的下载时间、有助优化你的搜索引擎。请看下面的例子:
<div class="fieldOuter">
<div class="inner">
<div class="field">
This is field number 1</div>
</div>
<div class="errorBar">
<div class="icon">
<img src="icon.png" alt="icon" /></div>
<div class="message">
<span>This is an error message</span></div>
</div>
</div>
<div class="fieldOuter">
<div class="inner">
<div class="field">
This is field number 2</div>
</div>
<div class="errorBar">
<div class="icon">
<img src="icon.png" alt="icon" /></div>
<div class="message">
<span>This is an error message</span></div>
</div>
</div>
上面是一个HTML的具体例子,为了解释目的做了少量修改。我相信你也会认为这段代码相当的丑陋。如果类似代码很长的话,你最终会形成一个相当长且丑陋的页面。因此你可以像下面这样处理它:
<div class="field">This is field 1</div>
<div class="field">This is field 2</div>
<div class="field">This is field 3</div>
<div class="field">This is field 4</div>
<div class="field">This is field 5</div>
所有你要做的就是在页面加载完成之后通过jQuery的操作将丑陋的HTML添加回去:
$(document).ready(function() {
$('.field').before('<div class="fieldOuter"><div class="inner">');
$('.field').after('</div><div class="errorBar"><div class="icon">
<img src="icon.png" alt="icon" /></div><div class="message">
<span>This is an error message</span></div></div></div>');
});
这样做并不总是可取的,在页面加载后的一瞬间你将会看到页面的闪动,但是在特定情况下你有很多重复的HTML内容,这时通过这个方法你可以显著的减小页面代码体积,减少无关且重复的标记能使你的SEO从中受益。
17. 为了速度和SEO方面的考虑,延迟加载内容
另外还有一个方法可以提升页面加载速度,理顺Spiders搜索的HTML内容,通过在页面加载之后使用AJAX请求晚加载其他内容,这样用户就可以马上开始浏览,让Spider看到你想要它们进行索引的内容。
我们已经在自己的网站上使用了这个技术。本页面上部的紫色按钮会弹出三个表格,方位与Google地图,这会使我们页面大小增加两倍。因此我们仅需要把这些HTML内容放入一个静态页面中,在页面加载完成之后通过load()函数加载它:
$('#forms').load('content/headerForms.html', function() {
// Code here runs once the content has loaded
// Put all your event handlers etc. here.
});
我不会在页面上随处使用这个技巧。对此,你必须权衡考虑。你需要有额外的页面请求,而且页面上的部分内容不能立即呈现给用户,但是正确的使用这个技巧对优化会很有帮助。
18. 使用jQuery提供的工具函数
jQuery不仅仅有闪光的效果。jQuery作者也提供了一些相当实用的方法,这填补了JacaScript的一些缺陷。
http://docs.jquery.com/Utilities
尤其,提供一些常见的数组函数的浏览器支持是一个补丁。jQuery提供了迭代、过滤、克隆、合并和从数组中去除重复项的方法。
其他常用的函数包括得到下拉框中的选择项。用传统的JavaScript方法,你就必须使用getElementById得到select元素,然后通过遍历它的子元素找出被选中的元素。而jQuery提供了相当容易使用的方法:
$('#selectList').val();
花时间浏览官方网站上的jQuery文档与一些不常用的方法上是很值得的。
19. 使用noConflict重命名jQuery对象
大多数JavaScript框架都使用$符号作为缩写,当在同一个页面使用多个JS框架时,页面很容易发生冲突。幸运的是有一个简单的方法。noConflict()函数交回$的控制权并允许你设置成自己的变量名:
var $j = jQuery.noConflict();
$j('#myDiv').hide();
20. 如何得知图片已加载完毕
这也一个没有很好文档说明的问题(至少在我查找时没看到),但是在创建照片库、旋转灯笼效果等方面,它是相当常见的需求。而这在jQuery中很容易实现。
所有你要做的就是在IMG上使用.load()方法,在其中添加一个回调函数。下面的例子改变了一个图片src的属性同事附加上一个简单的load函数:
$('#myImage').attr('src', 'image.jpg').load(function() {
alert('Image Loaded');
});
你应该可以发现一旦图片加载完毕就会弹出一个alert。
21. 总是使用最新版本
jQuery仍在不断的更新,它的作者John Resig一直在寻找提高jQuery性能的方法。
jQuery当前的版本是1.2.6,John已经宣称他正在写一个新的选择器引擎Sizzle,这可能会显著的提高选择器性能(在Firefox中提升了4倍),因此我们应当保持最新版本。
【译注】
这是去年年底写的文章,而目前最新版本是v.1.3.2。
22. 如何检查元素是否存在
你不必检查元素是否在页面上存在就可以使用它,因为如果没有在DOM中找到合适的元素,jQuery什么也不会做。可是当我们需要检查元素是否被选择了,或是有多少项被选择了,你可以使用length属性:
if ($('#myDiv).length) {
// your code
}
简单之极。
23. 给你的HTML属性增加JS类
我是从Karl Swedberg那学到这个技巧,过去学习jQuery时一直在看他的书。
他最近在我以前的文章留下了对该用法的评论,基本原则如下示之。
首先,在jQuery加载之后你可以使用方法将"JS"类添加到HTML标签中:
$('HTML').addClass('JS');
因为这仅仅发生在javascript有效的时候,如果用户打开JavaScript开关,那么你可以使用它给元素添加上CSS风格:
.JS #myDiv{display:none;}
因此,这意味着在JavaScript打开时我们可以隐藏内容,然后在需要时使用jQuery显示这些内容(比如在用户点击时收缩或展开内容),同时在关闭JavaScript(以及搜索Spiders)时会看到所有内容。我将在晚些时候使用这个技巧。
可以在这里看到他的所有文章。
24. 返回'false'以防止默认行为
这是很明显的,也可能不是。如果你有这样的习惯:
<a href="#" class="popup">Click me!</a>
然后添加上如下的事件处理:
$('popup').click(function(){
// Launch popup code
});
你在长页面使用上述方法时,它可能可以正常工作。有些时候你会注意到在点击链接后锚点会跳转到页面上部。
所有你要做的就是阻止它的默认行为,或者实际上你可以把"return false;"添加到任何事件的默认行为上。像这样:
$('popup').click(function(){
// Launch popup code
return false;
});
25. ready事件的简写
一个小技巧但是通过使用$(document).ready()的简写,你可以少输入几个字符。
取代:
$(document).ready(function (){
// your code
});
你可以简写成:
$(function (){
// your code
});
如果你喜欢这篇文章,请digg一下。
【译注】
翻译完毕!
分享到:
相关推荐
jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-...
jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)...
开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-...
在本文中,我们将详细探讨`jquery-ui.css`和`jquery-ui.js`这两个关键文件,并讨论如何在项目中有效地使用它们。 首先,`jquery-ui.css`是jQuery UI的核心样式文件,它包含了所有组件的默认样式和主题。这个文件...
jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-...
2. **在HTML中引入**:在引用新版本的jQuery之后,紧接着引入`jquery-migrate-1.2.1.js`。这通常意味着将其放在`<head>` 标签内或者`<body>` 标签的底部。 3. **查看警告**:当页面加载后,检查浏览器的控制台,查找...
"jquery-3.4.1_sangat1_jquery3.4.1"可能指的是一个特定的项目或者命名约定,"sangat1"可能是项目名或者是个人开发者的名字,而"jquery3.4.1"是jQuery库的另一种写法,它们都指向同一种资源——jQuery 3.4.1。...
"jQuery-1.12.4.js" 和 "jQuery-1.8.3.min.js" 是两个不同版本的jQuery库,用于前端网页开发。这两个文件分别代表了jQuery的不同阶段,各自有其特性和适用场景。 首先,我们来看 "jQuery-1.12.4.js"。这是jQuery的...
在压缩包内,包含了两个主要文件:`jquery-migrate-3.0.0.js` 和 `jquery-migrate-3.0.0.min.js`。这两个文件分别是未压缩的完整版和压缩后的精简版。未压缩版本方便开发者阅读和调试,而压缩版则用于生产环境,以...
2. 初始化`jquery-confirm`,设置所需的配置项,如确认框的样式和回调函数。 3. 对目标表单元素添加`submit`事件监听器,使用`$.ajaxForm`或`$.ajaxSubmit`方法来处理表单提交。 4. 在提交事件的处理函数中,调用`$....
《jQuery UI与jQuery插件深度解析——以jquery-ui-1.8.2.custom.min.js为例》 在Web开发领域,jQuery库以其简洁易用的API和强大的功能深受开发者喜爱。而jQuery UI作为jQuery的一个扩展,提供了丰富的用户界面组件...
这个压缩包包含两个关键文件:`jquery-ui-1.8.16.custom.min.js` 和 `jquery-ui-1.8.16.custom.css`,这些都是jQuery UI的特定版本,即1.8.16。这个版本在当时是一个广泛使用的稳定版本,提供了丰富的功能和组件。 ...
本篇文章将深入探讨jQuery 3.1.1版本的两个核心文件——`jquery-3.1.1.js`和`jquery-3.1.1.min.js`,以及它们在Bootstrap Treeview插件中的应用。 首先,我们来看`jquery-3.1.1.js`,这是未经压缩和未优化的源代码...
jquery-3.5.0.js jquery-3.5.0.min.js.zip
jquery-ui-日期框扩展成时间框 jquery-ui时间框 基于别人的代码进行修改 jquery-ui-1.8.16.custom.css文件末尾加入以下代码 .ui-timepicker-div .ui-widget-header{ margin-bottom: 8px; } .ui-timepicker-div dl{ ...
最新版jquery-1.6.4-vsdoc.js jQuery的VS智能提示插。压缩包内包含jquery-1.6.4.js jquery-1.6.4.min.js jquery-...2、切记:两个文件的文件名不能修改,并且只要引用jquery-1.6.4.js而不要引用jquery-1.6.4-vsdoc.js。
2、jquery-3.6.3.min.js文件。3、jquery-migrate-3.4.0.js文件(主要用于解决jquery版本升级中的问题,是jquery版本升级所必须引用的文件)。4、jquery-migrate-3.4.0.min.js(主要用于解决jquery版本升级中的问题...
`jquery-1.9.1.js`是未压缩的源代码版本,便于开发者阅读、调试和学习,而`jquery-1.9.1.min.js`是经过压缩和优化后的版本,体积更小,适用于生产环境,以提高页面加载速度。 jQuery 1.9.1版本是一个重要的里程碑,...
在 `jquery-ui-1.10.2.custom` 中,你可以找到预设的主题文件,用于快速调整界面样式。 2. **Widgets**:包括如对话框(Dialog)、滑块(Slider)、日期选择器(Datepicker)、进度条(Progressbar)、拖放...
标题中的“jquery-3.5.1.min.js”代表的是jQuery库的3.5.1版本的压缩后的最小化文件,这种格式的文件通常用于实际生产环境中,以减小页面加载时间。"jquery-3.5.1.min.js"是这个特定版本的核心文件,包含了所有...