jQuery的實(shí)例及必知重要的jQuery選擇器詳解
Jquery能做什么
訪問(wèn)和操作DOM元素
控制頁(yè)面樣式
對(duì)頁(yè)面事件進(jìn)行處理
擴(kuò)展新的jQuery插件
與Ajax技術(shù)完美結(jié)合
Jquery的優(yōu)勢(shì)
體積小,壓縮后只有100KB左右
l強(qiáng)大的選擇器
出色的DOM封裝
l可靠的事件處理機(jī)制
出色的瀏覽器兼容性
使用隱式迭代簡(jiǎn)化編程
豐富的插件支持
jQuery的知識(shí)的分解:
1.關(guān)于window.onload和$(function(){})區(qū)別
解析:window.onload等待頁(yè)面上所有資源(html標(biāo)簽,css,img,js)都加載完成后,才執(zhí)行,包括(文本素材,圖片,js,css)
$(function(){}):等待頁(yè)面上的標(biāo)簽素材加載完成后就開(kāi)始執(zhí)行
第二點(diǎn):
Window.onload只能調(diào)用一次
$(function(){})可以調(diào)用多次
2.怎么通過(guò)Jquery設(shè)置樣式
1).通過(guò)$(“選擇器”).css(“屬性名”,”屬性值”);
//這里的書(shū)寫(xiě)的屬性名和css中書(shū)寫(xiě)的一致
2).$(“選擇器”).html():獲取兩個(gè)標(biāo)簽之間的html代碼
3).$(“選擇器”).addClass(“屬性值”)
可以動(dòng)態(tài)的改變dom文檔結(jié)構(gòu)。進(jìn)而設(shè)置樣式。
3.DOM對(duì)象和Jquery對(duì)象的轉(zhuǎn)換
jquery對(duì)象轉(zhuǎn)換成 dom對(duì)象
jquery提供了兩種方法將一個(gè)jquery對(duì)象轉(zhuǎn)換成一個(gè)dom對(duì)象,即[index]和get(index)。
ar cr= cr=("#cr"); //jquery對(duì)象
var cr = $cr[0]; //dom對(duì)象 也可寫(xiě)成 var cr=$cr.get(0);
alert(cr.checked); //檢測(cè)這個(gè)checkbox是否給選中
dom對(duì)象轉(zhuǎn)換成jquery對(duì)象
對(duì)于一個(gè)dom對(duì)象,只需要用$()把dom對(duì)象包裝起來(lái),就可以獲得一個(gè)jquery對(duì)象了,方法為$(dom對(duì)象);
代碼:
var cr=document.getElementById("cr"); //dom對(duì)象
var cr= cr=(cr); //轉(zhuǎn)換成jquery對(duì)象
光棒效果案例:
js代碼:
$(function () { var lis = document.getElementsByTagName('li'); for (var i = 0; i < lis.length; i++) { lis[i].onmouseover = function () { this.style.background = 'red'; }; lis[i].onmouseout = function () { this.style.background = ''; } } });
jQuery的代碼:
$(function () { $('li').mouseover(function () { $(this).css('background','red'); }).mouseout(function () { $(this).css('background', ''); }) });
jQuery瀑布流案例:
<script> var margin = 10;//這里設(shè)置間距 var li = $("li");//這里是區(qū)塊名稱(chēng) var li_W = li[0].offsetWidth + margin;//取區(qū)塊的實(shí)際寬度(包含間距,這里使用源生的offsetWidth函數(shù),不適用jQuery的width()函數(shù)是因?yàn)樗荒苋〉脤?shí)際寬度,例如元素內(nèi)有pandding就不行了) function liuxiaofan() {//定義成函數(shù)便于調(diào)用 var h = [];//記錄區(qū)塊高度的數(shù)組 var n = document.documentElement.offsetWidth / li_W | 0;//窗口的寬度除以區(qū)塊寬度就是一行能放幾個(gè)區(qū)塊 for (var i = 0; i < li.length; i++) {//有多少個(gè)li就循環(huán)多少次 li_H = li[i].offsetHeight;//獲取每個(gè)li的高度 if (i < n) {//n是一行最多的li,所以小于n就是第一行了 h[i] = li_H;//把每個(gè)li放到數(shù)組里面 li.eq(i).css("top", 0);//第一行的Li的top值為0 li.eq(i).css("left", i * li_W);//第i個(gè)li的左坐標(biāo)就是i*li的寬度 } else { min_H = Math.min.apply(null, h);//取得數(shù)組中的最小值,區(qū)塊中高度值最小的那個(gè) minKey = getarraykey(h, min_H);//最小的值對(duì)應(yīng)的指針 h[minKey] += li_H + margin;//加上新高度后更新高度值 li.eq(i).css("top", min_H + margin);//先得到高度最小的Li,然后把接下來(lái)的li放到它的下面 li.eq(i).css("left", minKey * li_W); //第i個(gè)li的左坐標(biāo)就是i*li的寬度 } $("h3").eq(i).text("編號(hào):" + i + ",高度:" + li_H);//把區(qū)塊的序號(hào)和它的高度值寫(xiě)入對(duì)應(yīng)的區(qū)塊H3標(biāo)題里面 } } /* 使用for in運(yùn)算返回?cái)?shù)組中某一值的對(duì)應(yīng)項(xiàng)數(shù)(比如算出最小的高度值是數(shù)組里面的第幾個(gè)) */ function getarraykey(s, v) { for (k in s) { if (s[k] == v) { return k; } } } /*這里一定要用onload,因?yàn)閳D片不加載完就不知道高度值*/ window.onload = function () { liuxiaofan(); }; /*瀏覽器窗口改變時(shí)也運(yùn)行函數(shù)*/ window.onresize = function () { liuxiaofan(); }; </script>
JQuery選擇器
解析:為了更好的或者是更快的從復(fù)雜的DOM樹(shù)中找到我們需要的一類(lèi)標(biāo)簽
1.層次選擇器
<!-- 當(dāng)點(diǎn)擊h2元素時(shí),為#menu下的<span>元素添加色為#09F的顏色背景 --> <!-- <script type="text/javascript"> $(function () { $('h2').click(function () { $('#menu span').css('background-color','#09F'); }); }); </script>-->
2.基本選擇器
<!-- 為標(biāo)簽選擇器添加樣式 --> <script type="text/javascript"> $(function () { $('h2').click(function () { $('h3').css('background-color', '#09F'); }); }); </script>
3.基本過(guò)濾選擇器
<script type="text/javascript"> $(function () { $('h2').click(function () { //$('li:first').css('background-color', '#09F');//第一個(gè) //$('li:last').css('background-color', '#09F');//最后一個(gè) //$('li:not(.three)').css('background-color', '#09F');//class不為three的元素 // $('li:even').css('background-color', '#09F');//索引值為偶數(shù)的元素 // $('li:eq(1)').css('background-color', '#09F');//索引值為1的元素 //$('li:gt(1)').css('background-color', '#09F');//索引值大于1的元素 //$('li:lt(1)').css('background-color', '#09F');//索引值小于1的元素 //$(':header').css('background-color', '#09F');//所有標(biāo)題的元素 $(':focus').css('background-color', '#09F');//獲取焦點(diǎn)的元素 }); }); </script>
4.可見(jiàn)性過(guò)濾選擇器
<script src="js/jquery-1.8.3.js"></script> <script type="text/javascript"> $(function () { // $('p:hidden').show();//顯示文字 $('p:visible').hide();//隱藏文字 }); </script> <style type="text/css"> #txt_show { display:none;color:#00C; } #txt_hide { display:block;color:#F30; } </style> </head> <body> <p id="txt_hide">點(diǎn)擊按鈕,我會(huì)被隱藏哦~</p> <p id="txt_show">隱藏的我,被顯示了,嘿嘿~</p> <input type="button" name="show" value="點(diǎn)擊顯示文字 " /> <input type="button" name="hide" value="點(diǎn)擊隱藏文字 " /> </body>
5.屬性選擇器
<!--改變class屬性的值為odds的元素的背景顏色 --> <script type="text/javascript"> $(function () { $("h2").click(function () { $("[class=odds]").css("background-color", "#FFFFFF"); }) }); </script>
以上這篇jQuery的實(shí)例及必知重要的jQuery選擇器詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于jQuery+Cookie實(shí)現(xiàn)的防止刷新的在線考試倒計(jì)時(shí)
這篇文章主要介紹了基于jQuery+Cookie實(shí)現(xiàn)的防止刷新的在線考試倒計(jì)時(shí)的方法和示例,有需要的小伙伴可以參考下2015-06-06JQuery中html()方法使用不當(dāng)帶來(lái)的陷阱
html方法當(dāng)不傳參數(shù)時(shí)用來(lái)獲取元素的html內(nèi)容2011-04-04jQuery getJSON()+.ashx 實(shí)現(xiàn)分頁(yè)(改進(jìn)版)
參考了上一篇Asp .net +jquery +.ashx 文件實(shí)現(xiàn)分頁(yè)并作了改進(jìn):ashx返回json數(shù)據(jù),減少傳輸數(shù)據(jù)量,html頁(yè)面樣式控制也比較靈活,感興趣的朋友可以參考下哈2013-03-03jQuery根據(jù)name屬性進(jìn)行查找的用法分析
這篇文章主要介紹了jQuery根據(jù)name屬性進(jìn)行查找的用法,結(jié)合實(shí)例形式分析了jQuery各種常見(jiàn)name屬性獲取元素的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-06-06從零開(kāi)始學(xué)習(xí)jQuery (二) 萬(wàn)能的選擇器
本章講解jQuery最重要的選擇器部分的知識(shí). 有了jQuery的選擇器我們幾乎可以獲取頁(yè)面上任意的一個(gè)或一組對(duì)象, 可以明顯減輕開(kāi)發(fā)人員的工作量.2010-10-10jquery獲得當(dāng)前html頁(yè)面源碼的方法
這篇文章主要介紹了jquery獲得當(dāng)前html頁(yè)面源碼的方法,涉及jquery針對(duì)頁(yè)面元素的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07jquery實(shí)現(xiàn)在頁(yè)面加載的時(shí)自動(dòng)為日期插件添加當(dāng)前日期
這篇文章主要介紹了通過(guò)jquery實(shí)現(xiàn)在頁(yè)面加載的時(shí)自動(dòng)為日期插件添加當(dāng)前日期,需要的朋友可以參考下2014-08-08jquery使用ajax實(shí)現(xiàn)微信自動(dòng)回復(fù)插件
這篇文章主要介紹了jquery使用ajax實(shí)現(xiàn)微信自動(dòng)回復(fù)插件,需要的朋友可以參考下2014-04-04