DOM操作

1.dom對(duì)象的innnertext與innnerHTML有什么區(qū)別?

innerText 會(huì)返回一個(gè)節(jié)點(diǎn)及其后代的“渲染”文本內(nèi)容

 <div>abc
    <p>
        123
        <span>456
            <span>789</span>
        </span>
    </p>
</div>
<script>
var div = document.getElementByTag("div")[0];
var a = div.innerText
console.log(typeof a)   //   string
console(a)
/*
abc
123 456 789
*/
 </script>

innerHTML 設(shè)置或獲取描述元素后代的HTML語(yǔ)句

var b = div.innerHTML;
console.log(typeof b)   //   string
console(b)
/*
abc
    <p>
        123
        <span>456
            <span>789</span>
        </span>
    </p>
*/

2.elem.children與elem.childnodesd的區(qū)別?

console.log(div.children) 
 /*
[p]      //children只返回常規(guī)dom節(jié)點(diǎn)
*/    
console.log(div.childNodes) 
 /*
 [text, p, text]   childNodes還會(huì)將文本當(dāng)做節(jié)點(diǎn)返回
第一個(gè)text內(nèi)容是  abc
第二個(gè)text內(nèi)容是  換行符 
*/  
其次,可以通過(guò)nodeType來(lái)判斷是哪種類型的節(jié)點(diǎn)惜辑,只有當(dāng)nodeType==1時(shí)才是元素節(jié)點(diǎn),
2是屬性節(jié)點(diǎn),3是文本節(jié)點(diǎn)
用法
node = document.documentElement.firstChild;
node.nodeType

3.查詢?cè)赜袔追N常見的方法交排?ES5的元素選擇方法是什么?

  • getElementById() 返回匹配指定ID的元素
  • getElementByClassName() 返回匹配指定類名的元素類似數(shù)組的對(duì)象(HTML Collection)饵筑,搜索結(jié)果是一個(gè)動(dòng)態(tài)集合个粱,任何元素的變化都會(huì)反映在返回集合中
  • getElementsByTagName() 返回所有指定標(biāo)簽的元素HTML Collection對(duì)象。
    getElementsByName() 返回匹配指定name屬性的元素對(duì)象NodeList 翻翩,NodeList 對(duì)象是一個(gè)節(jié)點(diǎn)的集合都许,不會(huì)實(shí)時(shí)反映元素變化

ES5方法

  • querySelector() 返回匹配指定的CSS選擇器的第一個(gè)元素
  • querySelectorAll() 返回匹配指定的CSS選擇器的所有節(jié)點(diǎn),返回一個(gè)NodeList格式對(duì)象
ParentNode.querySelectorAll()
var matches = document.querySelectorAll("div.note, div.alert");
// NodeList(2)

4.如何創(chuàng)建一個(gè)元素嫂冻?如何給元素設(shè)置屬性胶征?如何刪除屬性

var div = document.createElement("div");    //創(chuàng)建元素
div.setAttribute("class","d1")                 // 設(shè)置屬性 設(shè)置class為d1
console.log(div)   //   <div class="d1"></div>
div.removeAttribute("class")   //  刪除屬性  刪除class
console.log(div)   //    <div></div>

5.如何給頁(yè)面元素添加子元素?如何刪除頁(yè)面元素下的子元素?

<div id="d1">
  <p>123</p>
</div>

    var div = document.getElementById("d1");
    var p2 = document.createElement("p");
    p2.setAttribute("class","p2")
    var text = document.createTextNode("456");
    p2.appendChild(text);                       //往p2中添加文本節(jié)點(diǎn)
    div.appendChild(p2);
    console.log(text);                        //往div中添加子節(jié)點(diǎn)p2
    var p1 = document.createElement("p");
    p1.setAttribute("class","p1")
    p1.appendChild(text);                      //往p1中添加文本節(jié)點(diǎn)
    div.insertBefore(p1,p2);                    //往div中添加子節(jié)點(diǎn)p1桨仿,并且插到p2前面

最后的結(jié)果是
<div>
  <p>123</p>
  <p class="p1">456</p>
  <p class="p2"></p>
</div>
p2中并無(wú)文本睛低,看來(lái)創(chuàng)建的textNode只能添加到一個(gè)節(jié)點(diǎn)中,后添加的會(huì)覆蓋前面添加的,不能像字符串那樣重復(fù)使用钱雷。

6.element.classList有哪些方法骂铁?如何判斷一個(gè)元素的 class 列表中是包含某個(gè) class?如何添加一個(gè)class罩抗?如何刪除一個(gè)class?

<div id="d1" class="foo bar"></div>

var div = document.getElementById("d1");
div.classList.remove("foo")         //刪除class
div.classList.add("anotherclass");   //添加class
div.classList.add("ac1","ac2")   //添加多個(gè)class拉庵,刪除也是同樣的語(yǔ)法
//  <div id="d1" class="bar anotherclass ac1 ac2"></div>

console.log(div.classList.contains("foo"))    // false  檢查元素中是否存在指定的類
console.log(div.classList.contains("bar"))   // true

console.log(div.classList[1])  // anotherclass   根據(jù)索引訪問到每個(gè)class

div.classList.toggle("visible");  //  如果visible類存在,則刪除它并返回false套蒂,如果
不存在钞支,則添加它并返回true

div.classList.toggle("visible",i < 10)  //如果第二個(gè)參數(shù)的計(jì)算結(jié)果為true,則添加指定的
類值操刀,如果計(jì)算結(jié)果為false烁挟,則刪除它

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>

var li = document.getElementsByTagName("li");
var li2 = document.querySelectorAll(".mod-tabs>ul li"); 

var btn = document.getElementsByClassName("btn")[0];
var btn2 = document.querySelector(".btn");
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末撼嗓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子欢唾,更是在濱河造成了極大的恐慌且警,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匈辱,死亡現(xiàn)場(chǎng)離奇詭異振湾,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)亡脸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門押搪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人浅碾,你說(shuō)我怎么就攤上這事大州。” “怎么了垂谢?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵厦画,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我滥朱,道長(zhǎng)根暑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任徙邻,我火速辦了婚禮排嫌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缰犁。我一直安慰自己淳地,他們只是感情好怖糊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著颇象,像睡著了一般伍伤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上遣钳,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天扰魂,我揣著相機(jī)與錄音,去河邊找鬼耍贾。 笑死阅爽,一個(gè)胖子當(dāng)著我的面吹牛路幸,可吹牛的內(nèi)容都是我干的荐开。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼简肴,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼晃听!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起砰识,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤能扒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后辫狼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體初斑,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年膨处,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了见秤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡真椿,死狀恐怖鹃答,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情突硝,我是刑警寧澤测摔,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站解恰,受9級(jí)特大地震影響锋八,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜护盈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一挟纱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧黄琼,春花似錦樊销、人聲如沸整慎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)裤园。三九已至,卻和暖如春剂府,著一層夾襖步出監(jiān)牢的瞬間拧揽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工腺占, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留淤袜,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓衰伯,卻偏偏與公主長(zhǎng)得像铡羡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子意鲸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

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

  • 基本介紹 文檔對(duì)象模型 (DOM) 是HTML和XML文檔的編程接口烦周。它給文檔(結(jié)構(gòu)樹)提供了一個(gè)結(jié)構(gòu)化的表述并且...
    草鞋弟閱讀 438評(píng)論 0 0
  • 題目1: dom對(duì)象的innerText和innerHTML有什么區(qū)別? innerText是一個(gè)可寫屬性怎顾,返回元...
    我七閱讀 420評(píng)論 0 0
  • 題目1: dom對(duì)象的innerText和innerHTML有什么區(qū)別读慎? innerText是一個(gè)可寫屬性,返回元...
    QQQQQCY閱讀 185評(píng)論 0 0
  • 1槐雾、 dom對(duì)象的innerText和innerHTML有什么區(qū)別夭委? innerText是一個(gè)可寫屬性,返回元素內(nèi)...
    zh_yang閱讀 324評(píng)論 0 0
  • 題目1: dom對(duì)象的innerText和innerHTML有什么區(qū)別募强? innerText是一個(gè)可寫屬性株灸,返回元...
    Taaaaaaaurus閱讀 201評(píng)論 0 1