今天就跟大家聊聊有關(guān)jQuery中容易讓人困惑的知識點有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)與策劃設(shè)計,林口網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:林口等地區(qū)。林口做網(wǎng)站價格咨詢:13518219792
一,什么是jquery
jQuery是繼prototype之后又一個優(yōu)秀的Javascrīpt框架。其宗旨是——WRITE LESS,DO MORE,寫更少的代碼,做更多的事情。說白了,jquery就是javascript。只不過按照人的習(xí)慣思維把它封裝了一個比較強大的框架。還有一點jquery能夠把html和javascript盡量分離,這也是我愿意用jquery的一個重要原因。jqueryt很靈活,太靈活了,可以說是他一個優(yōu)點,也是他一個缺點,達到一種效果,十個人也許會用十種不同的方法來實現(xiàn)這個過程,結(jié)果一樣,過程不一樣,這到底是好,還是壞呢。就各說各的理了。
二,學(xué)習(xí)和使用jquery的困惑
1)$.fn.extend({})和$.extend({})
$.fn.extend是擴展jQuery元素集來提供新的方法(通常用來制作插件)。解釋一下,就是通過$.fn.extend產(chǎn)生的jquery方法在調(diào)用jquery時,不會包括括在jquery自身的對象中,它是擴展插件的形勢,繼承的。你可以把它理解為php中的extend。舉個例子
$.fn.extend({ checkname: function() { if($.trim($(this).val()) != ""){ return true; }else{ return false; } } });
調(diào)用時 $("input.name").checkname();
$.extend是擴展jQuery對象本身。解釋一下,就是說通過$.extend產(chǎn)生的jquery方法,在調(diào)用jquery時,會包括在jquery自身的對象中。說白了,就是在jquery對象中添加方法,例如
$.extend({ checkname: function(name) { if($.trim(name!= ""){ return true; }else{ return false; } } });
調(diào)用時 $.checkname($("input.name").val());
2)$().each({})和$.each({})
$().each({})用來循環(huán)數(shù)組和對像
<ul> <li><div>Glen</div></li> <li>Tane</li> <li>Ralph</li> </ul>
下面是循環(huán)對象
$("ul li").each(function(k,v){ alert("key="+k+",value="+$(v).html()); }); );
下面是循環(huán)數(shù)組
array = [0,1,2]; $(array).each(function(k,v){ alert("key="+k+",value="+v); });
$.each({})可用來循環(huán)所有數(shù)組和對象,個人覺得他們二個沒什么差別,除了寫法不一樣外
下面是循環(huán)數(shù)組
array = [0,1,2]; $.each(array,function(k,v){ alert("key="+k+",value="+v); });
下面是循環(huán)對象
$.each($("ul li"),function(k,v){ alert("key="+k+",value="+$(v).html()); });
注意:function(k)這里k是下標(biāo),function(k,v)這是k還是下標(biāo),v不一定,有可能是數(shù)組里面的一個值,也有可能是一個對象,如果是對象時,如果參數(shù)不寫出來,默認(rèn)情況是this
3),$(" :contains()")和$(" :has()")
$(" :contains()") 匹配包含給定文本的元素,contains里面包括的是文本內(nèi)空
$("li:contains('Ra')").css('color','red');
$(" :has()")匹配含有選擇器所匹配的元素的元素,has里面包話的是一個標(biāo)簽
$("li:has(div)").css('color','red');
4), $(" :first")和 $(" :first-child")
$(" :first") 匹配找到的***個元素
$(" :first-child") 匹配***個子元素,':first' 只匹配一個元素,而此選擇符將為每個父元素匹配一個子元素
<div><ul> <li>list item 1</li> <li>list item 2 <ul> <li>list item 2-a</li> <li>list item 2-b</li> </ul> </li> <li>list item 3</li> <li>list item 4</li> </ul></div>
$("ul li:first").css('color','red'); //只匹配***次, $("ul li:first-child").css('color','red'); //匹配每個符合要求的對象 5),$().html()和$().text() $().html()取得***個匹配元素的html內(nèi)容。這個函數(shù)不能用于XML文檔。但可以用于XHTML文檔。 $().text()結(jié)果是由所有匹配元素包含的文本內(nèi)容組合起來的文本。這個方法對HTML和XML文檔都有效。 <span><p>Hello</p></span> $('span').html(); //得到的結(jié)果是<p>Hello</p> $('span').texxt(); //得到的結(jié)果是Hello 6),$().empty()和$().remove() $().empty() 清空匹配元素中的內(nèi)空,但不清空自身、 $().remove(),清空匹配元素中的內(nèi)空,以及自身 <span><p>Hello</p></span> $('p').empty() //得到的結(jié)果是<span><p></p></span> $('p').remove() //得到的結(jié)果是<span></span>
看完上述內(nèi)容,你們對jQuery中容易讓人困惑的知識點有哪些有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
分享文章:jQuery中容易讓人困惑的知識點有哪些
URL地址:http://www.rwnh.cn/article16/jeeedg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、微信小程序、做網(wǎng)站、手機網(wǎng)站建設(shè)、動態(tài)網(wǎng)站、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)