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 相关文章推荐
将CKfinder整合进CKEditor3.0的新方法
Jan 10 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
Jul 17 Javascript
Javascript异步编程的4种方法让你写出更出色的程序
Jan 17 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
Jan 20 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
Sep 12 Javascript
js匿名函数的调用示例(形式多种多样)
Aug 20 Javascript
JavaScript中消除闭包的一般方法介绍
Mar 16 Javascript
jQuery解析json格式数据简单实例
Jan 22 Javascript
仿iframe效果Aajx文件上传实例
Nov 18 Javascript
vue实现tab切换外加样式切换方法
Mar 16 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
Jun 18 jQuery
关于layui的动态图标不显示的解决方法
Sep 04 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
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
PHP 日期加减的类,很不错
2009/10/10 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
PHP自定义多进制的方法
2016/11/03 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
JS取文本框中最小值的简单实例
2013/11/29 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
javascript模拟C#格式化字符串
2015/08/26 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
JS常见算法详解
2017/02/28 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
微信小程序使用字体图标的方法
2019/05/23 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
Vue3为什么这么快
2020/09/23 Javascript
python距离测量的方法
2018/03/06 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
苹果Mac升级:MacSales.com
2017/11/20 全球购物
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
一道SQL面试题
2012/12/31 面试题
const和static readonly区别
2013/05/20 面试题
小浪底导游词
2015/02/12 职场文书
婚宴致辞
2015/07/28 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
导游词之长城八达岭
2019/09/24 职场文书
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js
java开发双人五子棋游戏
2022/05/06 Java/Android