jQuery中的節(jié)點(diǎn)操作

jQuery中的節(jié)點(diǎn)操作

1.查找節(jié)點(diǎn)

通過(guò)jQuery選擇器來(lái)完成

jQuery 選擇器允許對(duì) HTML 元素組或單個(gè)元素進(jìn)行操作沮趣。

jQuery 選擇器基于元素的 id、類咪啡、類型首启、屬性、屬性值等"查找"(或選擇)HTML 元素瑟匆。 它基于已經(jīng)存在的 CSS 選擇器闽坡,除此之外,它還有一些自定義的選擇器愁溜。

jQuery 中所有選擇器都以美元符號(hào)開(kāi)頭:$()

  • 基本選擇器
$("#test")       //選擇id值為test的元素疾嗅,id值是唯一的所以返回單個(gè)元素。
$("div")         //選擇所有的div標(biāo)簽元素冕象,返回div元素?cái)?shù)組 
$(".myclass")    //選擇使用myclass類的css的所有元素 
$("*")           //選取所有元素
$("#test,div,.myclass")  //選取多個(gè)元素代承。
  • 層次選擇器
$("div span")       //選取<div>里的所有<span>元素
$("div >span")      //選取<div>元素下元素名是<span>的子元素
$("#one +div")      //選取id為one的元素的下一個(gè)<div>同輩元素        等同于$("#one").next("div")
$("#one~div")       //選取id為one的元素的元素后面的所有<div>同輩元素    等同于$("#one").nextAll("div")
$("#one").siblings("div")       //獲取id為one的元素的所有<div>同輩元素(不管前后)
$("#one").prev("div")       //獲取id為one的元素的前面緊鄰的同輩<div>元素

所以獲取元素范圍大小順序依次為:
$("#one").siblings("div")>$("#one~div")>$("#one +div")  
或是
$("#one").siblings("div")>$("#one").nextAll("div")>$("#one").next("div")

一些其他選擇器:

  • 基本過(guò)濾選擇器
$("div:first")                  //選取所有<div>元素中第1個(gè)<div>元素
$("div:last")                   //選取所有<div>元素中最后一個(gè)<div>元素
$("input:not(.myClass)")       //選取class不是myClass的<input>元素 
$("input:even")                 //選取索引是偶數(shù)的<input>元素(索引從0開(kāi)始) 
$("input:odd")                  //選取索引是基數(shù)的<input>元素(索引從0開(kāi)始) 
$("input:eq(2)")                //選取索引等于2的<input>元素 
$("input:gt(4)")                //選取索引大于4的<input>元素
$("input:lt(4)")                //選取索引小于4的<input>元素
$(":header")                    //過(guò)濾掉所有標(biāo)題元素,例如:h1渐扮、h2论悴、h3等
$("div:animated")               //選取正在執(zhí)行動(dòng)畫的<div>元素  
$(":focus")                     //選取當(dāng)前獲取焦點(diǎn)的元素
  • 內(nèi)容過(guò)濾選擇器
$("div:contains('Name')")       //選取所有<div>中含有'Name'文本的元素 
$("div:empty")                  //選取不包含子元素(包括文本元素)的<div>空元素 
$("div:has(p)")                 //選取所有含有<p>元素的<div>元素 
$("div:parent")                 //選取擁有子元素的(包括文本元素)<div>元素
  • 可見(jiàn)性過(guò)濾選擇器
$("div:hidden")                 //選取所有不可見(jiàn)的<div>元素 
$("div:visible")                //選取所有可見(jiàn)的<div>元素
  • 屬性過(guò)濾選擇器
$("div[id]")                 //選取所有擁有屬性id的元素
$("input[name='test']")       //選取所有的name屬性等于'test'的<input>元素 
$("input[name!='test']")     //選取所有的name屬性不等于'test'的<input>元素 
$("input[name^='news']")        //選取所有的name屬性以'news'開(kāi)頭的<input>元素 
$("input[name$='news']")        //選取所有的name屬性以'news'結(jié)尾的<input>元素 
$("input[name*='news']")        //選取所有的name屬性包含'news'的<input>元素 
$("div[title|='en']")           //選取屬性title等于'en'或以'en'為前綴(該字符串后跟一個(gè)連字符'-')的<div>元素
$("div[title~='en']")           //選取屬性title用空格分隔的值中包含字符en的<div>元素
$("div[id][title$='test']")     //選取擁有屬性id,并且屬性title以'test'結(jié)束的<div>元素
  • 子元素過(guò)濾選擇器
$("div .one:nth-child(2)")       //選取class為'one'的<div>父元素下的第2個(gè)子元素
$("div span:first-child")        //選取每個(gè)<div>中的第1個(gè)<span>元素 
$("div span:last-child")         //選取每個(gè)<div>中的最后一個(gè)<span>元素 
$("div button:only-child")       //在<div>中選取是唯一子元素的<button>元素
  • 表單對(duì)象屬性過(guò)濾選擇器
$("#form1 :enabled")             //選取id為'form1'的表單內(nèi)所有可用元素
$("#form2 :disabled")            //選取id為'form2'的表單內(nèi)所有不可用元素 
$("input :checked")              //選取所有被選中的<input>元素   
$("select option:selected")      //選取所有的select 的子元素中被選中的元素
  • 表單選擇器
$(":input")                      //選取所有<input>,<textarea>,<select> 和 <button>元素 
$(":text")                      //選取所有的單行文本框
$(":password")                   //選取所有的密碼框 
$(":radio")                      //選取所有單的選框 
$(":checkbox")                   //選取所有的多選框 
$(":submit")                    //選取所有的提交按鈕
$(":image")                      //選取所有的圖像按鈕 
$(":reset")                      //選取所有的重置按鈕
$(":button")                     //選取所有的按鈕 
$(":file")                       //選取所有的上傳域
$(":hidden")                     //選取所有不可見(jiàn)元素

2. 創(chuàng)建節(jié)點(diǎn)

例:創(chuàng)建三個(gè)<span>標(biāo)簽

var span1 = $("<span></span>");
var span2 = $("<span>具有文本內(nèi)容的節(jié)點(diǎn)</span>");
var span3 = $("<span title='屬性節(jié)點(diǎn)'></span>");

3.插入節(jié)點(diǎn)

  // $A.append(B)  將B追加到A的末尾處,作為它的最后一個(gè)子元素
       
  // $A.appendTo(B)  將A追加到B的末尾墓律,作為它的最后一個(gè)子元素
       
  // prepend() 
       $A.prependTo(B)
            //將A追加到B的前面膀估,作為它的第一個(gè)子元素
       $A.after(B)
            //在A之后追加B,作為它的兄弟元素
       $A.insertAfter(B)
            //在B之后追加A耻讽,作為它的兄弟元素
       $A.before(B)
            //在A之前追加B察纯,作為它的兄弟元素
       $A.insertBefore(B)
             //在B之前追加A,作為它的兄弟元素

4.刪除節(jié)點(diǎn)

   remove([selector])
       //從DOM中刪除所有匹配的元素针肥,返回值是一個(gè)指向已經(jīng)被刪除的節(jié)點(diǎn)的引用饼记,可以在以后再使用這些元素。
       //該方法會(huì)移除元素慰枕,同時(shí)也會(huì)移除元素內(nèi)部的一切具则,包括綁定的事件及與該元素相關(guān)的jQuery數(shù)據(jù)。
   detach([selector])
       //與remove()類似具帮,但是detach()保存所有jQuery數(shù)據(jù)和被移走的元素的相關(guān)聯(lián)事件博肋。
   empty()
       //無(wú)參數(shù)低斋。從DOM中清空集合中匹配元素的所有的子節(jié)點(diǎn)。

5.復(fù)制節(jié)點(diǎn)

 $("#id").clone(false);
  //該方法返回的是一個(gè)節(jié)點(diǎn)的引用束昵,參數(shù)默認(rèn)為false拔稳,為淺復(fù)制;
  //參數(shù)是true,為深復(fù)制锹雏,含義是:復(fù)制元素的同時(shí)復(fù)制元素中所綁定的事件巴比。

6.替換節(jié)點(diǎn)

   replaceWith(newContent);
        //用新內(nèi)容替換集合中所有匹配的元素,并且返回被刪除的元素的集合礁遵。
        //該方法會(huì)刪除與節(jié)點(diǎn)相關(guān)聯(lián)的所有數(shù)據(jù)和事件處理程序轻绞。
   replaceAll(target);
        //用集合的匹配元素替換每個(gè)目標(biāo)元素。顛倒了replaceWith()操作效果佣耐。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末政勃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子兼砖,更是在濱河造成了極大的恐慌奸远,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讽挟,死亡現(xiàn)場(chǎng)離奇詭異懒叛,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)耽梅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門薛窥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人眼姐,你說(shuō)我怎么就攤上這事诅迷。” “怎么了众旗?”我有些...
    開(kāi)封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵罢杉,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我贡歧,道長(zhǎng)屑那,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任艘款,我火速辦了婚禮,結(jié)果婚禮上沃琅,老公的妹妹穿的比我還像新娘哗咆。我一直安慰自己,他們只是感情好益眉,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布晌柬。 她就那樣靜靜地躺著姥份,像睡著了一般。 火紅的嫁衣襯著肌膚如雪年碘。 梳的紋絲不亂的頭發(fā)上澈歉,一...
    開(kāi)封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音屿衅,去河邊找鬼埃难。 笑死,一個(gè)胖子當(dāng)著我的面吹牛涤久,可吹牛的內(nèi)容都是我干的涡尘。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼响迂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼考抄!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起蔗彤,我...
    開(kāi)封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤川梅,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后然遏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體贫途,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年啦鸣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了潮饱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诫给,死狀恐怖香拉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情中狂,我是刑警寧澤凫碌,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站胃榕,受9級(jí)特大地震影響盛险,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜勋又,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一苦掘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧楔壤,春花似錦鹤啡、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)祟牲。三九已至,卻和暖如春抖部,著一層夾襖步出監(jiān)牢的瞬間说贝,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工慎颗, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留乡恕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓哗总,卻偏偏與公主長(zhǎng)得像几颜,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子讯屈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容