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 this 的一些学习总结
Aug 02 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
Oct 18 Javascript
js格式化时间和js格式化时间戳示例
Feb 10 Javascript
js判断元素是否隐藏的方法
Jun 09 Javascript
jQuery多个input求和的实现方法
Feb 12 Javascript
使用C++为node.js写扩展模块
Apr 22 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
Aug 25 Javascript
Angular ng-repeat 对象和数组遍历实例
Sep 14 Javascript
Seajs是什么及sea.js 由来,特点以及优势
Oct 13 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
Feb 14 Javascript
JavaScript中的 new 命令
May 22 Javascript
JavaScript async/await原理及实例解析
Dec 02 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内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
PHP验证码函数代码(简单实用)
2013/09/29 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
在JavaScript中遭遇级联表达式陷阱
2007/03/08 Javascript
常用一些Javascript判断函数
2012/08/14 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
常用的jQuery前端技巧收集
2014/12/24 Javascript
JavaScript返回0-1之间随机数的方法
2015/04/06 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
jQuery自制提示框tooltip改进版
2016/08/01 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
2017/04/13 jQuery
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
在Vue项目中使用d3.js的实例代码
2018/05/01 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
vue addRoutes路由动态加载操作
2020/08/04 Javascript
vue-simple-uploader上传成功之后的response获取代码
2020/09/07 Javascript
Vue表单提交点击事件只允许点击一次的实例
2020/10/23 Javascript
Vue页面渲染中key的应用实例教程
2021/01/12 Vue.js
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
python用来获得图片exif信息的库实例分析
2015/03/16 Python
用实例解释Python中的继承和多态的概念
2015/04/27 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
PyTorch上实现卷积神经网络CNN的方法
2018/04/28 Python
python写入已存在的excel数据实例
2018/05/03 Python
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
竞聘演讲稿怎么写
2014/08/28 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
给朋友的赠语
2015/06/23 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
2019经典广告词集锦!
2019/07/02 职场文书