JavaScript Dom

1.dom對象的innerText和innerHTML的區(qū)別

  • innerText 會輸出相對應(yīng)的文本內(nèi)容
  • innerHTML屬性返回該元素包含的HTML代碼单起。該屬性可讀寫采记,常用來設(shè)置某個節(jié)點的內(nèi)容。
  <body>
    <p class="p1">
      我是p1我是p1我是p1
    </P>
    <p class="p2">
      我是p2我是p2我是p2
    </P>
  </body>

2.Element.children和Element.childNodes的區(qū)別

  • childNodes屬性返回一個NodeList集合拉一,成員包括當(dāng)前節(jié)點的所有子節(jié)點采盒。
  • Element.children屬性返回一個HTMLCollection對象旧乞,包括當(dāng)前元素節(jié)點的所有子元素。它是一個類似數(shù)組的動態(tài)對象

兩者區(qū)別:除了HTML元素節(jié)點纽甘,該屬性返回的還包括Text節(jié)點和Comment節(jié)點

3.查詢元素有幾種常見的方法良蛮?

  • document/element.querySelector( )

接受一個CSS選擇器作為參數(shù)抽碌,返回匹配該選擇器的元素節(jié)點悍赢。如果有多個節(jié)點滿足匹配條件,則返回第一個匹配的節(jié)點货徙。如果沒有發(fā)現(xiàn)匹配的節(jié)點左权,則返回null。

  • document/element.querySelectorAll( )

與querySelector用法類似痴颊,區(qū)別是返回一個NodeList對象赏迟,包含所有匹配給定選擇器的節(jié)點。

  • document/Element.getElementsByClassName( )

方法返回一個類似數(shù)組的對象(HTMLCollection實例對象)蠢棱,包括了所有class名字符合指定條件的元素锌杀,元素的變化實時反映在返回結(jié)果中。

  • document.getElementsById( )

返回匹配指定id屬性的元素節(jié)點泻仙。如果沒有發(fā)現(xiàn)匹配的節(jié)點糕再,則返回null。
這個方法只能在document對象上使用玉转,不能在其他元素節(jié)點上使用突想。

  • document/element.getElementByTagName( )
    返回所有指定HTML標(biāo)簽的元素,返回值是一個類似數(shù)組的HTMLCollection
    對象究抓,可以實時反映HTML文檔的變化猾担。如果沒有任何匹配的元素,就返回一個空集刺下。

4.如何創(chuàng)建一個元素绑嘹?如何給元素設(shè)置屬性?

  • 通過creatElement( ) 可以創(chuàng)建元素
  • 另外通過setAttribute(xx.qq)可以為元素設(shè)置屬性
  • 同時也可以使用賦值的方法橘茉,例如div.id=div1;


5.元素的添加工腋、刪除?

  • 創(chuàng)建元素后捺癞,需要將文本添加到DOM樹中可通過如下方法實現(xiàn)
    • document.body.appendChild( );
    • document.body.insertBefore( );
    • document.body.replaceChild( );

-刪除已有元素

  • document.body.removeChild( );
  • Element.removeAttribute( )刪除元素屬性

6.DOM0 事件和DOM2級在事件監(jiān)聽使用方式上有什么區(qū)別夷蚊?

  • DOM0
document.el.onclick="function( ){}" 

在事件流冒泡階段觸發(fā)。

  • DOM2(getEventListener( )髓介、removeEventListener( )
document.el.getEventListener(type/"click" , function( ){ } ,  true/false)

刪除可用 removeEventListener( type , function( ){ } )
運行流程先對事件進(jìn)行捕獲惕鼓,然后在進(jìn)行冒泡,第三個屬性false/true唐础。fasle為默認(rèn)屬性箱歧,代指事件在冒泡過程中觸發(fā)矾飞。true則代指在捕獲過程中觸發(fā)。

  • IE (attachEvent( ),detachEvent( ))
document.el.attchEvent("onclick", function( ){ })

在事件流冒泡階段觸發(fā)呀邢。

7.attachEvent與addEventListener的區(qū)別洒沦?

  • addEventListener是W3C標(biāo)準(zhǔn),而attachEvent()不是W3C標(biāo)準(zhǔn)价淌,并只支持IE8瀏覽器以下的
  • addEventListener里面有三個參數(shù)(類型申眼、函數(shù)、布爾值)而attachEvent只有兩個(類型蝉衣、函數(shù))括尸,只支持事件冒泡。
  • addEventListener接收的類型為click而attachEvent接收的是onclick病毡。
  • addEventListener的移除函數(shù)方法是removeEventListener濒翻,而attachEvent移除函數(shù)的方法是detachEvent。
  • addEventListener的作用域是元素本身啦膜,this指的是觸發(fā)元素有送,attachEvent的作用域是全局this指的是window。
  • addEventListener按照添加順序執(zhí)行僧家,attachEvent沒有順序執(zhí)行雀摘。

8.解釋IE事件冒泡和DOM2事件傳播機(jī)制?

  • IE
    事件開始時由具體的元素啸臀,文檔中嵌套層次最深的節(jié)點接收届宠,然后逐個向上傳播
  • DOM2
    運行流程先對事件進(jìn)行捕獲,然后在進(jìn)行冒泡乘粒,第三個屬性false/true豌注。fasle為默認(rèn)屬性,代指事件在冒泡過程中觸發(fā)灯萍。true則代指在捕獲過程中觸發(fā)轧铁。

9.如何阻止事件冒泡? 如何阻止默認(rèn)事件旦棉?

  • preventDefault( )
    阻止默認(rèn)事件
  • stopPropagation( )
    取消事件進(jìn)一步捕獲和冒泡
    以上都需要對象屬相cancelable 為true時可以使用
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末齿风,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子绑洛,更是在濱河造成了極大的恐慌救斑,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件真屯,死亡現(xiàn)場離奇詭異脸候,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門运沦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泵额,“玉大人,你說我怎么就攤上這事携添〖廾ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵烈掠,是天一觀的道長羞秤。 經(jīng)常有香客問我,道長向叉,這世上最難降的妖魔是什么锥腻? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮母谎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘京革。我一直安慰自己奇唤,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布匹摇。 她就那樣靜靜地躺著咬扇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪廊勃。 梳的紋絲不亂的頭發(fā)上懈贺,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天,我揣著相機(jī)與錄音坡垫,去河邊找鬼梭灿。 笑死,一個胖子當(dāng)著我的面吹牛冰悠,可吹牛的內(nèi)容都是我干的堡妒。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼溉卓,長吁一口氣:“原來是場噩夢啊……” “哼皮迟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起桑寨,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤伏尼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后尉尾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爆阶,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了扰她。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兽掰。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖徒役,靈堂內(nèi)的尸體忽然破棺而出孽尽,到底是詐尸還是另有隱情,我是刑警寧澤忧勿,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布杉女,位于F島的核電站,受9級特大地震影響鸳吸,放射性物質(zhì)發(fā)生泄漏熏挎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一晌砾、第九天 我趴在偏房一處隱蔽的房頂上張望坎拐。 院中可真熱鬧,春花似錦养匈、人聲如沸哼勇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽积担。三九已至,卻和暖如春猬仁,著一層夾襖步出監(jiān)牢的瞬間帝璧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工湿刽, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留的烁,地道東北人。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓叭爱,卻偏偏與公主長得像撮躁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子买雾,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,860評論 2 361

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

  • 什么是DOM把曼??漓穿? DOM(Document Object Model 文檔對象模型)是針對HTML和XML文檔的...
    熒惑3_3閱讀 1,395評論 0 1
  • # 問答 1 嗤军、dom對象的innerText和innerHTML有什么區(qū)別? innderHTML獲取或設(shè)置標(biāo)簽...
    開心小窩閱讀 219評論 0 0
  • 1.dom對象的innerText和innerHTML有什么區(qū)別老客? innerText:innerText是一個可...
    饑人谷_徐小坤閱讀 212評論 0 0
  • 今年暑假有幸參加了在上海的學(xué)習(xí)共同體的學(xué)習(xí),以及在福州由來自智利的paulina老師的正面管教學(xué)校講師班的學(xué)習(xí)震叮,發(fā)...
    曇摩丁娜閱讀 386評論 0 0
  • 今天重新學(xué)習(xí)類三種排序方法胧砰,按照排序速度依次是冒泡排序,選擇排序和插入排序苇瓣。以下示例皆為從小到大的排序 1.冒泡排...
    s0me0ne閱讀 610評論 0 1