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 07 Javascript
JS实现时间格式化的方式汇总
Oct 16 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
Feb 25 Javascript
jQuery实现选项卡切换效果简单演示
Dec 09 Javascript
静态页面html中跳转传值的JS处理技巧
Jun 22 Javascript
微信小程序通过api接口将json数据展现到小程序示例
Jan 20 Javascript
Vue.js中的图片引用路径的方式
Jul 28 Javascript
详解Angular2学习笔记之Html属性绑定
Jan 03 Javascript
vue input实现点击按钮文字增删功能示例
Jan 29 Javascript
eslint 的三大通用规则详解
May 16 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
Jan 21 Javascript
vue路由的配置和页面切换详解
Sep 09 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
ThinkPHP之用户注册登录留言完整实例
2014/07/22 PHP
php实现通过ftp上传文件
2015/06/19 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
PHP的全局错误处理详解
2016/04/25 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
2014/08/05 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
2015/03/14 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
JavaScript 正则表达式中global模式的特性
2016/02/25 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
跟老齐学Python之开始真正编程
2014/09/12 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
2019/10/30 Python
关于python中导入文件到list的问题
2020/10/31 Python
python 爬取小说并下载的示例
2020/12/07 Python
监理员的岗位职责
2013/11/13 职场文书
高中军训感言400字
2014/02/24 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
雨花台导游词
2015/02/06 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python
PyTorch的Debug指南
2021/05/07 Python
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers