14个有用的Jquery技巧分享


Posted in Javascript onJanuary 08, 2015

1.通过方法返回Jquery对象实例

用 var someDiv = $(‘#someDiv').hide();  代替 var someDiv = $(‘#someDiv');  someDiv.hide();

2.使用find来查找

用 $(‘#someDiv').find(‘p.someClass').hide();   代替 $(‘#someDiv p.someClass').hide();因为可以不必触发Jquery的Sizzle引擎,同时在写选择符的时候尽量让您的选择符简单同时优化最右边的选择符

3.不要滥用$(this)

用 $(‘#someAnchor').click(function() {  alert( this.id );  }); 代替 $(‘#someAnchor').click(function() {alert($(this).attr(‘id'));});

4.ready的简写形式

用 $(function() { }); 代替 $(document).ready(function() {});

5.让你的代码安全

方法1(使用noConflict)

var j = jQuery.noConflict();

j(‘#someDiv').hide();

// The line below will reference some other library's $ function.

$(‘someDiv').style.display = ‘none';

方法2(传入参数Jquery)
(function($) {

// Within this function, $ will always refer to jQuery

})(jQuery);

方法3(通过ready方法)
jQuery(document).ready(function($) {

// $ refers to jQuery

});

6.简化代码

用each代替for,使用数组保存临时变量,使用document fragment,这其实和写原生的Javascript需要注意的一样。

7.使用Ajax的方法

Jquery提供了get getJSON post ajax这些有用的ajax方法

8.访问原生的属性和方法
比如获取元素id的方法有

// OPTION 1 ? Use jQuery

var id = $(‘#someAnchor').attr(‘id');

// OPTION 2 ? Access the DOM element

var id = $(‘#someAnchor')[0].id;

// OPTION 3 ? Use jQuery's get method

var id = $(‘#someAnchor').get(0).id;

// OPTION 3b ? Don't pass an index to get

anchorsArray = $(‘.someAnchors').get();

var thirdId = anchorsArray[2].id;

9.使用PHP来检查Ajax请求

通过使用xhr.setRequestHeader(“X-Requested-With”, “XMLHttpRequest”);  服务器端如PHP就可以通过

function isXhr() {

return $_SERVER['HTTP_X_REQUESTED_WITH'] === ‘XMLHttpRequest';

}

来检查是不是Ajax请求,在一些禁用Javascript的情况下可能会用到

10.Jquery和$的关系

在Jquery代码的最下面,可以看到下面的代码
window.jQuery = window.$ = jQuery;  $其实就是Jquery的一个shortcut

11.条件加载Jquery

<!? Grab Google CDN jQuery. fall back to local if necessary ?>

<script src=”http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js”></script>

<script>!window.jQuery && document.write(‘<script src=”js/jquery-1.4.2.min.js”><\/script>')</script>

如果CDN没有下载到Jquery,则从本地读取

12.Jquery Filters

<script>

$(‘p:first').data(‘info', ‘value'); // populates $'s data object to have something to work with

$.extend(

jQuery.expr[":"], {

block: function(elem) {

return $(elem).css(“display”) === “block”;

},

hasData : function(elem) {

return !$.isEmptyObject( $(elem).data() );

}

}

);

$(“p:hasData”).text(“has data”); // grabs paras that have data attached

$(“p:block”).text(“are block level”); // grabs only paragraphs that have a display of “block”

</script>

注:$.expr[":"]等价于$.expr.filters

13.hover方法

$(‘#someElement').hover(function() {

//在这里可以使用toggle方法来实现滑过和滑出的效果

});

14.传入属性对象

当创建一个元素的时候,Jquery1.4可以传入一个属性对象

$(‘</a>', {

id : ‘someId',

className : ‘someClass',

href : ‘somePath.html'

});

甚至是Jquery指定的属性或事件如text, click
Javascript 相关文章推荐
javascript引用对象的方法代码
Aug 13 Javascript
JavaScript中获取元素索引的函数
Sep 10 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
Dec 19 Javascript
jquery tab插件精简版分享
Sep 10 Javascript
Java/JS获取flash高宽的具体方法
Dec 27 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
Dec 13 Javascript
js实现贪吃蛇小游戏(容易理解)
Jan 22 Javascript
bootstrap daterangepicker汉化以及扩展功能
Jun 15 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
Nov 18 Javascript
Vue中图片Src使用变量的方法
Oct 30 Javascript
vue 实现动态路由的方法
Jul 06 Javascript
如何让vue长列表快速加载
Mar 29 Vue.js
jQuery中insertBefore()方法用法实例
Jan 08 #Javascript
jQuery中insertAfter()方法用法实例
Jan 08 #Javascript
jQuery中prependTo()方法用法实例
Jan 08 #Javascript
8个超实用的jQuery功能代码分享
Jan 08 #Javascript
jQuery中appendTo()方法用法实例
Jan 08 #Javascript
jQuery中append()方法用法实例
Jan 08 #Javascript
jQuery中end()方法用法实例
Jan 08 #Javascript
You might like
深入浅析php json 格式控制
2015/12/24 PHP
php实现购物车功能(上)
2020/07/23 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
Django 中 cookie的使用
2017/08/17 PHP
PHP htmlspecialchars_decode()函数用法讲解
2019/03/01 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
javascript获取文档坐标和视口坐标
2015/05/26 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
2016/05/12 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
vue中如何实现变量和字符串拼接
2017/06/19 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
2017/11/07 Javascript
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
详解nvm管理多版本node踩坑
2019/07/26 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
[01:19:34]2014 DOTA2国际邀请赛中国区预选赛 New Element VS Dream time
2014/05/22 DOTA
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
美国知名的网上鞋类及相关服装零售商:Shoes.com
2017/05/06 全球购物
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
社区工作者先进事迹
2014/01/18 职场文书
分公司经理任命书
2014/06/05 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
党支部承诺书
2015/01/20 职场文书
评测 | 大屏显示带收音机的高端音箱,JBL TUNE2便携式插卡音箱实测
2021/04/24 无线电