Jquery实用技巧分享

转自:微点阅读  https://www.weidianyuedu.com

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($) {undefined

// Within this function, $ will always refer to jQuery

})(jQuery);

方法3(通过ready方法)

代码如下:

jQuery(document).ready(function($) {undefined

// $ 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就可以通过  www.weidianyuedu.com

代码如下:

function isXhr() {undefined

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[":"], {undefined

block: function(elem) {undefined

return $(elem).css(“display”) === “block”;

},

hasData : function(elem) {undefined

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() {undefined

//在这里可以使用toggle方法来实现滑过和滑出的效果

});

14.传入属性对象

当创建一个元素的时候,Jquery1.4可以传入一个属性对象

代码如下:

$(‘</a>", {undefined

id : ‘someId",

className : ‘someClass",

href : ‘somePath.html"

});

甚至是Jquery指定的属性或事件如text, click

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值