jQuery學習(二) 常規選擇器

2021-07-29 02:07:30 字數 3412 閱讀 7520

一、常規選擇器分類

(1)、簡單選擇器

(2)、高階選擇器

(3)、高階選擇器

二,簡單選擇器(id選擇器,元素選擇器,類選擇器)

(1)id選擇器

使用jquery選擇器時,必須使用「$()」函式來包裝我們css規則,經過jquery物件包裝後,返回對應元素的jquery物件,我們得到這個dom節點後就可以進行操作啦。

#box
在jquery選擇器裡,我們使用如下方式可以獲取同樣的結果:

$(

"#box").css("color","red"); //獲取dom節點物件,並新增行為

(2)元素選擇器和類選擇器

"div").css("color","red"); //(1)元素選擇器,返回多個物件

$("#box").css("color","red"); //(2)id選擇器,返回單個物件

$(".box").css("color","red"); //(3)類(clas)選擇器,返回多個物件

為了證明id返回的是單個元素,元素選擇器和類選擇器返回的是多個物件,我們可以使用jquery的乙個屬性length或size()方法檢視返回元素個數。

三、高階選擇器(群組選擇器,後代選擇器,萬用字元選擇器)

//(1)群組選擇器

span , em , .box

$("span , em , .box").css("color","red");//群組選擇器jquery方式

//(2)後代選擇器

ul li a

$("ul li a").css("color","red"); //後代選擇器jquery的方式

//(3)萬用字元選擇器*$(

"*").css("color","red"); //萬用字元選擇器jquery的方式

//特殊選擇器,可以在id和類(class)中指明元素字首

$("div.box"); //限定.box元素獲取必須是div標籤

$("p#box") //限定#box元素獲取必須是p標籤

目前介紹的六中選擇器,在實際開發中我們可以靈活搭配,使得選擇器更加的準確和快速:

$("#box p , ui li * ").css("color","red"); //組合了多種選擇器

注意:萬用字元選擇器比如$(「*」),這種使用方法效率很低,影響效能,建議少用。

三、高階選擇器

//(1)後代選擇器

$("#box p").css("color","red");

jquery為後代選擇器提供了乙個等價的find()方法

$("box").find("p").css("color","red"); //和後代選擇器等價

//(2)子選擇器

$("#box >p").css("color","red"); //對應jquery使用

jquery為子選擇器提供了乙個定價的children()方法:

$("#box").children("p").css("color","red"); //和子選擇器等價

//(3)next選擇器(同級節點下乙個元素)

$("#box+p").next("p").css("color","red");

jquery為next選擇器提供了乙個等價的方法next();

$("#box").next("p").css("color","red");

//(4)nextall選擇器(同級節點所有元素)

$("#box~p").css("color","red");

jquery為nextall選擇器提供了乙個等價的方法nextall();

$("#box").nextall("p").css("color","red");

注意:在find()、next()、nextall()、和children()這四個方法中,如果不傳遞引數,就相當於傳遞了」*」,即任何節點,不但影響效能,在複雜情況下產生怪異的結果。

為了補充高階選擇器的這四中模式,jquery提供了更加豐富的方法來選擇元素

$("#box").prev("p").css("color","red"); //同級上乙個元素

$("#box").prevall("p").css("color","red"); //同級所有上面的元素

nextuntil()和 prevunitl()方法是選定同級的下面或上面的所有節點,選定非指定的所有 元素,一旦遇到指定的元素就停止選定。

//同級上非指定元素選定,遇到則停止

$('#box').prevuntil('p').css('color', 'red');

//同級下非指定元素選定,遇到則停止

$('#box').nextuntil('p').css('color', 'red');

siblings()方法正好整合了 prevall()和 nextall()兩個功能的效果,及上下相鄰的所有元素 進行選定:

//同級上下所有元素選定

$('#box').siblings('p').css('color', 'red');

//等價於下面:

//同級上所有元素選定

$('#box').prevall('p').css('color', 'red');

//同級下所有元素選定

$('#box').nextall('p').css('color', 'red');

注意:以上選擇器對其變數進行快取,速度會進一步提高

var box = $('#box');

var p = box.find('p');

四、屬性選擇器

注意:上的「a」」代表元素名稱「title」代表屬性名稱。

//選定具有這個屬性=這個屬性值的

$("li[class=class1]").css("color","red");

//選定具有這個屬性且以開頭屬性值匹配的

$("div[title^=title1]").css("color","red");

jQuery 二 常規選擇器

在使用jquery選擇器時,必須使用 函式來包裝css規則。選擇器css模式 jquery模式 element 元素名 div div id firstname firstname class classname classname 例 p等價於 p css color red firstname ...

jQuery 常規兄弟選擇器示例

jquery通用同級選擇器 x y 用於選擇與 y 匹配的所有元素,y 是 x 元素的同級。例如,i m class1 sibling 1 i m class1 sibling 2 i m class1 sibling 3 和是同級關係。class1 p 語句將選擇所有元素。在此示例中,值 我是表單...

jQuery學習教程二 jQuery選擇器

在前面的章節中,我們展示了一些有關如何選取 html 元素的例項。關鍵點是學習 jquery 選擇器是如何準確地選取您希望應用效果的元素。jquery 元素選擇器和屬性選擇器允許您通過標籤名 屬性名或內容對 html 元素進行選擇。選擇器允許您對 html 元素組或單個元素進行操作。在 html d...