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 相关文章推荐
在Node.js应用中读写Redis数据库的简单方法
Jun 30 Javascript
用NODE.JS中的流编写工具是要注意的事项
Mar 01 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
Jul 12 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
Aug 01 Javascript
全面解析标签页的切换方式
Aug 21 Javascript
input 禁止输入特殊字符的四种实现方式
Aug 24 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
Apr 21 Javascript
ES6中Math对象新增的方法实例详解
Apr 25 Javascript
webuploader实现上传图片到服务器功能
Aug 16 Javascript
Node.js安装详细步骤教程(Windows版)详解
Sep 01 Javascript
JS实现滑动插件
Jan 15 Javascript
js函数柯里化的方法和作用实例分析
Apr 11 Javascript
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制作新闻系统的思路
2006/10/09 PHP
php面向对象全攻略 (十二) 抽象方法和抽象类
2009/09/30 PHP
php foreach、while性能比较
2009/10/15 PHP
PHP上传文件时自动分配路径的方法
2015/01/09 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
深入理解Vue.js源码之事件机制
2017/09/27 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
jquery实现购物车基本功能
2019/10/25 jQuery
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
js编写简易的计算器
2020/07/29 Javascript
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
详解Python打包分发工具setuptools
2019/08/05 Python
使用python去除图片白色像素的实例
2019/12/12 Python
RealTek面试题
2016/06/28 面试题
博士毕业生自我鉴定范文
2014/04/13 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
忠诚教育心得体会
2014/09/03 职场文书
劳动仲裁调解书
2015/05/20 职场文书
繁星春水读书笔记
2015/06/30 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python
python如何正确使用yield
2021/05/21 Python
Python Matplotlib绘制条形图的全过程
2021/10/24 Python