jQuery學(xué)習(xí)總結(jié)之DOM操作篇

在jQuery中,主要的DOM操作分為以下幾類:

jQuery中的DOM操作.png

一晌杰、查找節(jié)點

1缀遍、查找元素節(jié)點

var $li = $("ul li:eq(1)");
var li_txt = $li.text();
alert(li_txt);

2、查找屬性節(jié)點
利用jQuery選擇器找到需要的元素之后杭朱,就可以使用attr()方法來獲取它的各種屬性的值阅仔。attr()方法的參數(shù)可以是一個,也可以是兩個弧械。當(dāng)參數(shù)是一個時八酒,則是要查詢的屬性的名字,例如:

var $para = $("p");
var p_txt = $para.attr("title");
alert(p_txt);

二刃唐、創(chuàng)建節(jié)點

1羞迷、創(chuàng)建元素節(jié)點

var $li_1 = $("<li></li>");
$("ul").append($li_1);

2、創(chuàng)建文本節(jié)點

var $li_1 = $("<li>蘋果</li>");
$("ul").append($li_1);

3画饥、創(chuàng)建屬性節(jié)點

var $li_1 = $("<li title="蘋果">蘋果</li>");
$("ul").append($li_1);

三衔瓮、插入節(jié)點

插入節(jié)點.png

四、刪除節(jié)點

1荒澡、remove()方法

$("ul li:eq(1)").remove();

當(dāng)某個節(jié)點用remove()方法刪除后报辱,該節(jié)點所包含的所有后代節(jié)點將同時被刪除与殃。這個方法的返回值是一個指向已被刪除的節(jié)點的引用单山,因此可以在以后再使用這些元素。
另外remove()方法也可以傳遞參數(shù)來選擇性地刪除元素幅疼,如下:

$("ul li").remove("li[title!=蘋果]");

2米奸、detach()方法
detach()和remove()一樣,也是從DOM中去掉所有匹配的元素爽篷。但需要注意的是悴晰,這個方法不會把匹配的元素從jquery對象中刪除,因而可以在將來再使用這些匹配的元素逐工。與remove()不同的是铡溪,所有綁定的事件、附加的數(shù)據(jù)等都會保留下來泪喊。
3棕硫、empty()方法
嚴(yán)格來說,empty()方法并不是刪除節(jié)點袒啼,而是清空節(jié)點哈扮,它能清空元素中的所有后代節(jié)點纬纪。


五、復(fù)制節(jié)點

復(fù)制節(jié)點用到的方法是clone()滑肉,如下:

$("ul li").click(function(){
 $(this).clone().appendTo("ul");
});

該方法還可以接受一個參數(shù)包各,true,它的含義是復(fù)制元素的同時復(fù)制元素中所綁定的事件。


六靶庙、替換節(jié)點

1问畅、replaceWith()方法是將所有匹配的元素都替換成指定的HTML或者DOM元素。
2惶洲、replaceAll()方法的作用于replaceWith()方法一樣按声,只是順序顛倒了
3、需要注意的是恬吕,如果在替換之前签则,已經(jīng)為元素綁定事件,替換后原先綁定的事件將會與被替換的元素一一消失铐料,需要在新元素上重新綁定事件渐裂。


七、包裹節(jié)點

1钠惩、wrapAll()方法會將所有匹配的元素用一個元素來包裹柒凉,它不同于wrap(),wrap()方法是將所有的元素進(jìn)行單獨的包裹篓跛。

<strong></strong>
<strong></strong>

使用wrap()方法包裹strong元素膝捞,代碼如下

$("strong").wrap("<b></b>");

得到的結(jié)果如下

<b><strong></strong></b>
<b><strong></strong></b>

而是用wrapAll()方法包裹strong元素,代碼如下

$("strong").wrapAll("<b></b>");

得到的結(jié)果如下

<b>
<strong></strong>
<strong></strong>
</b>

2愧沟、wrapInner()方法將每一個匹配的元素的子內(nèi)容(包括文本節(jié)點)用其他結(jié)構(gòu)化的標(biāo)記包裹起來蔬咬。

$("strong").wrapInner("<b></b>");

得到的結(jié)果如下

<strong title="蘋果"><b>蘋果</b></stong>

八、屬性操作

1沐寺、獲取屬性和設(shè)置屬性
想要獲取元素的屬性林艘,只需要給attr()方法傳遞一個參數(shù),即屬性名稱即可混坞。
如果要設(shè)置元素的屬性狐援,也可以使用同一個方法,不同的是究孕,要傳遞兩個參數(shù)啥酱,即屬性名稱和對應(yīng)的值。

$("p").attr("title","you title");

jQuery中的很多方法都是同一個函數(shù)實現(xiàn)獲取和設(shè)置的厨诸,類似的還有html()镶殷、text()、height()泳猬、width()批钠、val()和css()等方法
2宇植、刪除屬性
在某些情況下,需要刪除文檔中某個元素的特定屬性埋心,可以使用removeAttr()方法來完成該任務(wù)指郁。


九、樣式操作

1拷呆、獲取樣式和設(shè)置樣式
使用attr("class","class name"方法來獲取和設(shè)置樣式闲坎。
2、追加樣式
使用addClass("class name")方法來追加樣式茬斧。
在CSS中有一下兩條規(guī)則:
(1)如果給一個元素添加了多個class值腰懂,那么就相當(dāng)于合并了它們的樣 式。
(2)如果有不同的class設(shè)定了同一樣式屬性项秉,則厚澤會覆蓋前者绣溜。
3、移除樣式
可以使用removeClass("class name")方法來移除樣式
4娄蔼、切換樣式
5怖喻、判斷是否含有某個樣式的方法是hasClass()


十、設(shè)置和獲取HTML岁诉、文本和值

1锚沸、html()方法
此方法類似于javascript中的InnerHTML屬性弥咪,可以用來獲取或者設(shè)置某個元素中的HTML內(nèi)容粒褒。
2、text()方法
此方法類似于javascript中的innerText屬性涝焙,用來讀取或者設(shè)置某個元素中的文本內(nèi)容
3坠韩、val()方法
此方法類似于javascript中的value屬性距潘,用來獲取或者設(shè)置元素的值


十一、遍歷節(jié)點

1同眯、children()方法
用于取得匹配元素的子元素集合
2绽昼、next()方法
用于取得匹配元素后面緊鄰的同輩元素
3唯鸭、prev()方法
用于取得匹配元素前面緊鄰的同輩元素
4须蜗、siblings()方法
用于取得匹配元素前后所有的同輩元素
5、closest()
該方法用于取得最近的匹配元素目溉。首先檢查當(dāng)前元素是否匹配明肮,如果匹配就直接返回。如果不匹配則向上查找父元素缭付,逐級向上直到找到匹配選擇器的元素柿估。

$(document).bind("click",function(e){
$(e.target).closest(".li").css("color","red");
});

6、parent()陷猫、parents()和closest()的區(qū)別
parent()獲得集合中每個匹配元素的父級元素秫舌。
parents()獲得集合中每個匹配元素的祖先元素的妖。
closest()從元素本身開始,逐級向上級元素匹配足陨,并返回最先匹配的祖先元素


十二嫂粟、CSS-DOM操作

可以直接利用css()獲取和設(shè)置元素的樣式屬性
1、offset()方法是獲取元素在當(dāng)前視窗的相對偏移墨缘,其中返回的對象包含兩個屬性星虹,即top和left,它只對可見元素有效镊讼。
2宽涌、position()方法獲取元素相對于最近的一個position樣式屬性設(shè)置為relative或者absolute的祖父節(jié)點的相對偏移,與offset()一樣蝶棋,它返回的對象也有兩個屬性卸亮,即top和left。
3玩裙、scrollTop()方法和scrollLeft()方法
這兩個方法的作用分別是獲取元素的滾動條距頂端的距離和距左側(cè)的距離嫡良。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市献酗,隨后出現(xiàn)的幾起案子寝受,更是在濱河造成了極大的恐慌,老刑警劉巖罕偎,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件很澄,死亡現(xiàn)場離奇詭異,居然都是意外死亡颜及,警方通過查閱死者的電腦和手機(jī)甩苛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來俏站,“玉大人讯蒲,你說我怎么就攤上這事∫拊” “怎么了墨林?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長犯祠。 經(jīng)常有香客問我旭等,道長,這世上最難降的妖魔是什么衡载? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任搔耕,我火速辦了婚禮,結(jié)果婚禮上痰娱,老公的妹妹穿的比我還像新娘弃榨。我一直安慰自己菩收,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布鲸睛。 她就那樣靜靜地躺著坛梁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪腊凶。 梳的紋絲不亂的頭發(fā)上划咐,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天,我揣著相機(jī)與錄音钧萍,去河邊找鬼褐缠。 笑死,一個胖子當(dāng)著我的面吹牛风瘦,可吹牛的內(nèi)容都是我干的队魏。 我是一名探鬼主播,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼万搔,長吁一口氣:“原來是場噩夢啊……” “哼胡桨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起瞬雹,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤昧谊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后酗捌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呢诬,經(jīng)...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年胖缤,在試婚紗的時候發(fā)現(xiàn)自己被綠了尚镰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,777評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡哪廓,死狀恐怖狗唉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情涡真,我是刑警寧澤分俯,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站综膀,受9級特大地震影響澳迫,放射性物質(zhì)發(fā)生泄漏局齿。R本人自食惡果不足惜剧劝,卻給世界環(huán)境...
    茶點故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抓歼。 院中可真熱鬧讥此,春花似錦拢锹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至他巨,卻和暖如春充坑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背染突。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工捻爷, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人份企。 一個月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓也榄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親司志。 傳聞我的和親對象是個殘疾皇子甜紫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,687評論 2 351

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)骂远,斷路器囚霸,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • 一、樣式篇 第1章 初識jQuery (1)環(huán)境搭建 進(jìn)入官方網(wǎng)站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,364評論 0 44
  • 第1章 簡介 第2章 DOM節(jié)點的創(chuàng)建 2-1 DOM創(chuàng)建節(jié)點及節(jié)點屬性 通過JavaScript可以很方便的獲...
    mo默22閱讀 804評論 0 8
  • DOM創(chuàng)建節(jié)點及節(jié)點屬性 通過JavaScript可以很方便的獲取DOM節(jié)點激才,從而進(jìn)行一系列的DOM操作邮辽。但實際上...
    阿r阿r閱讀 1,007評論 0 9
  • 前夜的東方小巴黎,雪花飄落 像天使降臨人間贸营,一片祥和 明日的天空吨述,會是藍(lán)色的吧 惡魔般的霾,會逃之夭夭吧 冰城的百...
    閨中風(fēng)暖閱讀 677評論 34 19