js

DOM

選取文檔元素

  • 用指定的id屬性
    • getElementById(id)
    • 返回element對象
  • 用指定的name屬性
    • getElementByName(name)
    • 返回NodeList對象
  • 用指定的標簽名字
    • getElementByTagName(tag_name)
    • 返回NodeList對象
  • 用指定的CSS類
    • getElementByClassName(class)
    • 返回NodeList對象
  • 匹配指定的CSS選擇器
    • queueSelectorAll()
    • 返回NodeList對象

NodeList對象不是歷史文檔狀態(tài)的一個靜態(tài)快照,而通常是實時的,并且當文檔變化時它們所包含的元素列表能隨之改變斜纪,這是其中一個最重要和令人驚訝的特性。

但是通過queueSelectorAll() 返回的NodeList對象并不是實時的陈辱。它包含在調用時刻選擇器所匹配的元素,但它并不更新后續(xù)文檔的變化细诸。

文檔結構與遍歷

parentNode

該元素的父節(jié)點沛贪。

childNodes

只讀的類數(shù)組對象,它是該節(jié)點的子節(jié)點的實時表示

firstChild, lastChild

該節(jié)點的子節(jié)點中的第一個和最后一個震贵,如果該節(jié)點沒有子節(jié)點則為null

nextSiblings, prevSublings

該節(jié)點的兄弟節(jié)點的前一個和下一個鹏浅。

nodeType

該節(jié)點的類型。9代表Document節(jié)點屏歹,1代表Element節(jié)點隐砸,3代表Text節(jié)點,8代表Comment節(jié)點蝙眶,11代表DocumentFragment節(jié)點季希。

nodeValue

Text節(jié)點或Comment節(jié)點的文本內容

nodeName

元素的標簽名褪那,以大寫形式表示

setAttribute(name, value)

設置元素的屬性

getAttribute(name)

得到元素指定的屬性

hasAttribute(name)

檢測元素是否存在指定的屬性

removeAttribute(name)

刪除元素指定的屬性

innerHTML

獲取元素的內容(HTML字符串); 在元素上設置該屬性調用了Web瀏覽器的解析器,用新字符串內容的解析展現(xiàn)形式替換元素當前內容式塌。

textContent, (IE innerText)

獲取純文本形式的元素內容博敬,或者在文檔中插入純文本

創(chuàng)建,插入和刪除文本

document.createElement()

// 創(chuàng)建一個<script>元素   
var newNode = document.createElement('script'); 

Element.cloneNode(boolean)

// 復制已有的節(jié)點
// 給方法傳遞true表示能夠遞歸的復制所有的后代節(jié)點峰尝,傳遞false表示只執(zhí)行淺復制
var newNode = document.getElementById('app').cloneNode(true);

parent.appendChild(child)

// 在指定節(jié)點上插入新的節(jié)點使其成為那個指定節(jié)點的最后一個子節(jié)點
var child = document.createElement('script');
script.src = "xxxx";
document.head.appendChild(child);

parent.insertBefore(newNode, node)

// 在指定節(jié)點上插入新節(jié)點偏窝,新節(jié)點插入在已存在節(jié)點的前面
parent.insertBefore(child, parent.childNode[2]);

如果調用appendChild()或insertBefore()將已存在文檔中的一個節(jié)點再次插入,那個節(jié)點將自動從它當前的位置刪除并在新的位置重新插入:沒有必要顯式刪除節(jié)點

parent.removeChild(child)

// 刪除某個節(jié)點
var node = document.getElementById('app');
node.parentNode.removeChild(node);

parent.replaceChild(newNode, node)

// 替換某個節(jié)點
var node = document.getElementById('app');
var newNode = document.createElement("p");
newNode.textContent = "Hello world";
node.parentNode.replaceChild(newNode, node);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末武学,一起剝皮案震驚了整個濱河市祭往,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌火窒,老刑警劉巖硼补,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異熏矿,居然都是意外死亡已骇,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門票编,熙熙樓的掌柜王于貴愁眉苦臉地迎上來褪储,“玉大人,你說我怎么就攤上這事慧域±鹬瘢” “怎么了?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵吊趾,是天一觀的道長宛裕。 經(jīng)常有香客問我瑟啃,道長论泛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任蛹屿,我火速辦了婚禮屁奏,結果婚禮上,老公的妹妹穿的比我還像新娘错负。我一直安慰自己坟瓢,他們只是感情好,可當我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布犹撒。 她就那樣靜靜地躺著折联,像睡著了一般。 火紅的嫁衣襯著肌膚如雪识颊。 梳的紋絲不亂的頭發(fā)上诚镰,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天奕坟,我揣著相機與錄音,去河邊找鬼清笨。 笑死月杉,一個胖子當著我的面吹牛,可吹牛的內容都是我干的抠艾。 我是一名探鬼主播苛萎,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼检号!你這毒婦竟也來了腌歉?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤谨敛,失蹤者是張志新(化名)和其女友劉穎究履,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脸狸,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡最仑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了炊甲。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泥彤。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖卿啡,靈堂內的尸體忽然破棺而出吟吝,到底是詐尸還是另有隱情,我是刑警寧澤颈娜,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布剑逃,位于F島的核電站,受9級特大地震影響官辽,放射性物質發(fā)生泄漏蛹磺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一同仆、第九天 我趴在偏房一處隱蔽的房頂上張望萤捆。 院中可真熱鬧,春花似錦俗批、人聲如沸俗或。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辛慰。三九已至,卻和暖如春干像,著一層夾襖步出監(jiān)牢的瞬間帅腌,已是汗流浹背辱志。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狞膘,地道東北人揩懒。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像挽封,于是被迫代替她去往敵國和親已球。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內容

  • 個人博客:https://yeaseonzhang.github.io 花了半個多月的時間辅愿,終于又把“JS紅寶書”...
    Yeaseon閱讀 11,537評論 9 52
  • 變量命名智亮、聲明、賦值 1.必須以字母点待、下劃線或美元符號開頭阔蛉,后面可以跟字母、下劃線癞埠、美元符號和數(shù)字状原。2.變量名區(qū)分...
    wq04200閱讀 633評論 0 1
  • window.history.go(-1) window.history.forward() window.his...
    桃花島主閱讀 341評論 0 0
  • 1. 什么是DOM 文檔對象模型 (DOM) 是HTML和XML文檔的編程接口。它提供了對文檔的結構化的表述苗踪,并定...
    hanyuntao閱讀 1,275評論 0 4
  • 忘了是什么時候 我站在車站 看你走近黑夜 震驚之余 連一句話 也不能開口 走在這條路上 很久很久 我好似領悟 那背...
    紫諾丶柒陌閱讀 326評論 13 2