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 hasFocus使用实例
Jun 29 Javascript
JavaScript 判断日期格式是否正确的实现代码
Jul 04 Javascript
js点击出现悬浮窗效果不使用JQuery插件
Jan 20 Javascript
使用jquery.upload.js实现异步上传示例代码
Jul 29 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
Mar 04 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
Feb 13 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
Mar 05 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
Mar 27 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
Jun 19 Javascript
ES6 Symbol数据类型的应用实例分析
Jun 26 Javascript
原生js实现弹幕效果
Nov 29 Javascript
vue动态绑定style样式
Apr 20 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做下载文件的实现代码及文件名中乱码解决方法
2011/02/03 PHP
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
php截取后台登陆密码的代码
2012/05/05 PHP
php获取淘宝分类id示例
2014/01/16 PHP
php实现aes加密类分享
2014/02/16 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
php中上传文件的的解决方案
2018/09/25 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
2017/02/05 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
Python Excel处理库openpyxl使用详解
2019/05/09 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
python 实现矩阵按对角线打印
2019/11/29 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
Python使用configparser库读取配置文件
2020/02/22 Python
台湾线上百货零售购物平台:friDay购物
2017/08/18 全球购物
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
奥利奥广告词
2014/03/20 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
故意伤害人身损害赔偿协议书
2014/11/19 职场文书
庆祝教师节活动总结
2015/03/23 职场文书
最感人的道歉情书
2015/05/12 职场文书
Android存储中最基本的文件存储方式
2022/04/30 Java/Android