jQuery選擇器及jquery案例詳解(必看)
來源:易賢網(wǎng) 閱讀:1022 次 日期:2016-06-25 14:39:00
溫馨提示:易賢網(wǎng)小編為您整理了“jQuery選擇器及jquery案例詳解(必看)”,方便廣大網(wǎng)友查閱!

本文給大家介紹jquery選擇器的相關(guān)知識,并通過案例給大家介紹jquery知識,本文介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧

JQuery選擇器

解析:為了更好的或者是更快的從復(fù)雜的DOM樹中找到我們需要的一類標(biāo)簽

1.層次選擇器

<!-- 當(dāng)點(diǎn)擊h2元素時,為#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.基本過濾選擇器

<script type="text/javascript">

$(function () {

$('h2').click(function () {

//$('li:first').css('background-color', '#09F');//第一個

//$('li:last').css('background-color', '#09F');//最后一個

//$('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.可見性過濾選擇器

<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)擊按鈕,我會被隱藏哦~</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能做什么:

訪問和操作DOM元素

控制頁面樣式

對頁面事件進(jìn)行處理

擴(kuò)展新的jQuery插件

與Ajax技術(shù)完美結(jié)合

Jquery的優(yōu)勢:

體積小,壓縮后只有100KB左右

強(qiáng)大的選擇器

出色的DOM封裝

可靠的事件處理機(jī)制

出色的瀏覽器兼容性

使用隱式迭代簡化編程

豐富的插件支持

jQuery的知識的分解:

1.關(guān)于window.onload和$(function(){})區(qū)別

解析:window.onload等待頁面上所有資源(html標(biāo)簽,css,img,js)都加載完成后,才執(zhí)行,包括(文本素材,圖片,js,css)

$(function(){}):等待頁面上的標(biāo)簽素材加載完成后就開始執(zhí)行

第二點(diǎn):

Window.onload只能調(diào)用一次

$(function(){})可以調(diào)用多次

2.怎么通過Jquery設(shè)置樣式

1).通過$(“選擇器”).css(“屬性名”,”屬性值”);

//這里的書寫的屬性名和css中書寫的一致

2).$(“選擇器”).html():獲取兩個標(biāo)簽之間的html代碼

3).$(“選擇器”).addClass(“屬性值”)

可以動態(tài)的改變dom文檔結(jié)構(gòu)。進(jìn)而設(shè)置樣式。

3.DOM對象和Jquery對象的轉(zhuǎn)換

jquery對象轉(zhuǎn)換成 dom對象

jquery提供了兩種方法將一個jquery對象轉(zhuǎn)換成一個dom對象,即[index]和get(index)。

ar cr= cr=("#cr"); //jquery對象

var cr = $cr[0]; //dom對象 也可寫成 var cr=$cr.get(0);

alert(cr.checked); //檢測這個checkbox是否給選中

3.dom對象轉(zhuǎn)換成jquery對象

對于一個dom對象,只需要用$()把dom對象包裝起來,就可以獲得一個jquery對象了,方法為$(dom對象);

代碼:

var cr=document.getElementById("cr"); //dom對象

var cr= cr=(cr); //轉(zhuǎn)換成jquery對象

光棒效果案例:

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ū)塊名稱

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ū)塊寬度就是一行能放幾個區(qū)塊

for (var i = 0; i < li.length; i++) {//有多少個li就循環(huán)多少次

li_H = li[i].offsetHeight;//獲取每個li的高度

if (i < n) {//n是一行最多的li,所以小于n就是第一行了

h[i] = li_H;//把每個li放到數(shù)組里面

li.eq(i).css("top", 0);//第一行的Li的top值為0

li.eq(i).css("left", i * li_W);//第i個li的左坐標(biāo)就是i*li的寬度

}

else {

min_H = Math.min.apply(null, h);//取得數(shù)組中的最小值,區(qū)塊中高度值最小的那個

minKey = getarraykey(h, min_H);//最小的值對應(yīng)的指針

h[minKey] += li_H + margin;//加上新高度后更新高度值

li.eq(i).css("top", min_H + margin);//先得到高度最小的Li,然后把接下來的li放到它的下面

li.eq(i).css("left", minKey * li_W); //第i個li的左坐標(biāo)就是i*li的寬度

}

$("h3").eq(i).text("編號:" + i + ",高度:" + li_H);//把區(qū)塊的序號和它的高度值寫入對應(yīng)的區(qū)塊H3標(biāo)題里面

}

}

/* 使用for in運(yùn)算返回數(shù)組中某一值的對應(yīng)項(xiàng)數(shù)(比如算出最小的高度值是數(shù)組里面的第幾個) */

function getarraykey(s, v) { for (k in s) { if (s[k] == v) { return k; } } }

/*這里一定要用onload,因?yàn)閳D片不加載完就不知道高度值*/

window.onload = function () { liuxiaofan(); };

/*瀏覽器窗口改變時也運(yùn)行函數(shù)*/

window.onresize = function () { liuxiaofan(); };

</script>

以上內(nèi)容是小編給大家介紹的jQuery選擇器及jquery案例的相關(guān)知識,希望對大家有所幫助

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:jQuery選擇器及jquery案例詳解(必看)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機(jī)號
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)