js-DOM操作

為什么要學(xué)習(xí)DOM? 因?yàn)?要改變頁面的某個東西,JavaScript就需要獲得對HTML文檔中所有元素進(jìn)行訪問的入口。這個入口,連同對 HTML 元素進(jìn)行添加、移動、改變或移除的方法和屬性,都是通過DOM來獲得的. 包括:document對象常用屬性,document對象常用方法,查詢元素,創(chuàng)建元素等

題目1: dom對象的innerText和innerHTML有什么區(qū)別?

<div>
    <p>
        123
        <span>456</span>
    </p>
</div>

外層div的innerText返回內(nèi)容是: "123456"
innerHTML返回內(nèi)容是: "<p>123<span>456</span></p>"

innerText:是一個可寫屬性,返回元素內(nèi)包含的文本內(nèi)容,在多層次的時候會按照元素由淺到深的順序拼接其內(nèi)容.
innerHTML:屬性作用和innerText類似,但是不是返回元素的文
本內(nèi)容,而是返回元素的HTML結(jié)構(gòu)

題目2: elem.children和elem.childNodes的區(qū)別?

  • Element.children:子元素列表(HTMLCollection)
    HTMLCollection: 返回元素的子元素集合,但是它只返回HTML節(jié)點(diǎn).

  • Element.childNodes:子元素列表(NodeList)
    NodeList: 一個節(jié)點(diǎn)的集合,既可以包含元素和其他節(jié)點(diǎn)(注釋節(jié)點(diǎn)、文本節(jié)點(diǎn)等).

題目3:查詢元素有幾種常見的方法?ES5的元素選擇方法是什么?

  • getElementById方法返回匹配指定ID屬性的元素節(jié)點(diǎn)。如果沒有發(fā)現(xiàn)匹配的節(jié)點(diǎn),則返回null。這也是獲取一個元素最快的方法.

  • getElementsByClassName方法返回一個類似數(shù)組的對象(HTMLCollection類型的對象),包括了所有class名字符合指定條件的元素(搜索范圍包括本身)

  • getElementsByTagName方法返回所有指定標(biāo)簽的元素(搜索范圍包括本身)。返回值是一個HTMLCollection對象

  • getElementsByName方法用于選擇擁有name屬性的HTML元素

  • ES5方法: querySelector();querySelectorAll();

題目4:如何創(chuàng)建一個元素?如何給元素設(shè)置屬性?如何刪除屬性

  • createElement方法用來生成HTML元素節(jié)點(diǎn)
  • setAttribute()方法用于設(shè)置元素屬性
  • removeAttribute()用于刪除元素屬性

題目5:如何給頁面元素添加子元素?如何刪除頁面元素下的子元素?

  • appendChild()方法在元素末尾添加元素
  • insertBefore()方法在某個元素之前插入元素
  • removeChild()方法可用于刪除某元素下的子元素
  • replaceChild()接受兩個參數(shù):要插入的元素和要替換的元素

題目6: element.classList有哪些方法?如何判斷一個元素的 class 列表中是包含某個 class?如何添加一個class?如何刪除一個class?

  • add(class1, class2, ...) //在元素中添加一個或多個類名。如果指定的類名已存在,則不會添加
  • toggle()支持一個類名字符串參數(shù),若類名列表中有此類名,移除之,并返回false; 如果沒有,則添加該類名,并返回true.
  • contains(class): //返回布爾值,判斷指定的類名是否存在
  • classList.add(''):添加一個class
  • classList.remove(''):刪除一個class

題目7: 如何選中如下代碼所有的li元素? 如何選中btn元素?

<div class="mod-tabs">
   <ul>
       <li>list1<li>
       <li>list2<li>
       <li>list3<li>
   </ul>
   <button class="btn">點(diǎn)我</button>
</div>

//選中所有的li元素
document.getElementsByTagName('li')或document.querySelectorAll('li')

//選中btn元素
document.getElementsByClassName('btn')或
getElementsByClassName('btn')
document.querySelector('.btn')

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,546評論 6 533
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,570評論 3 418
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,505評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,017評論 1 313
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,786評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,219評論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,287評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,438評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,971評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,796評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,995評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,540評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,230評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,918評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,697評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,991評論 2 374

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

  • 1:dom對象的innerText和innerHTML有什么區(qū)別? innerText是一個可寫屬性,返回元素內(nèi)包...
    饑人谷_bigJiao閱讀 277評論 0 0
  • 翻譯自:高性能Javascript 第三章Dom操作是昂貴的,它通常是web應(yīng)用的性能瓶頸。這篇文章討論Dom操作...
    Addy_Zhou閱讀 3,057評論 0 5
  • DOM是針對xml并經(jīng)過擴(kuò)展應(yīng)用于html的應(yīng)用程序編程接口,前端工程師借助DOM并使用前端腳本語言來擁有對頁面內(nèi)...
    Miss____Du閱讀 651評論 0 6
  • 基本介紹 文檔對象模型 (DOM) 是HTML和XML文檔的編程接口。它給文檔(結(jié)構(gòu)樹)提供了一個結(jié)構(gòu)化的表述并且...
    草鞋弟閱讀 450評論 0 0
  • 今天我們來談?wù)劙l(fā)晶! 黑發(fā)晶是發(fā)晶當(dāng)中的一種 那么黑發(fā)晶如何鑒別真假呢? 黑發(fā)晶以晶體通透、發(fā)絲多、冰裂棉絮少為佳...
    水晶小狐貍閱讀 1,957評論 0 0