DOM、事件

DOM嫉你、事件

問(wèn)答

1. dom 對(duì)象的 innerTextinnerHTML 有什么區(qū)別月帝?

  • innerText,輸出/更改純文本

  • innerHTML幽污,不僅可以輸出/更改純文本嚷辅,還可以輸出/更改DOM節(jié)點(diǎn)樹(shù)

2. elem.childrenelem.childNodes 的區(qū)別?

  • elem.children距误,輸出父節(jié)點(diǎn)包含的子節(jié)點(diǎn)組成的類(lèi)數(shù)組

  • elem.children簸搞,輸出父節(jié)點(diǎn)包含的所有元素(包括空格、換行深寥、文本攘乒、子節(jié)點(diǎn))組成的類(lèi)數(shù)組

3. 查詢(xún)?cè)赜袔追N常見(jiàn)的方法贤牛?

  1. 下面的方法里面的參數(shù)都是字符串
  • getElementById()
    通過(guò) id 查找惋鹅。返回值為單個(gè)元素。
  • getElementsByClassName()
    通過(guò) class 查找殉簸。返回值為類(lèi)數(shù)組闰集。
  • getElementsByTagName()
    通過(guò) tagname(標(biāo)簽名字) 查找。返回值為類(lèi)數(shù)組般卑。
  1. 下面的方法通過(guò)** CSS 選擇符**查詢(xún):
  • querySelector()
    返回與該模式匹配的第一個(gè)元素武鲁,如果沒(méi)有,返回 null 蝠检。
  • querySelectorAll()
    與上類(lèi)似沐鼠,返回一個(gè) NodeList 對(duì)象(與該模式匹配的所有元素)(類(lèi)數(shù)組),如果沒(méi)有,Nodelist 為空饲梭。

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

  1. 創(chuàng)建元素
    document.createElement('Tagname')
  2. 設(shè)置屬性
    setAttribute(‘屬性名’, ‘屬性值’)
    tips: 不規(guī)范的屬性名也能夠被設(shè)置憔涉。

5. 元素的添加订框、刪除?

  1. 元素添加
    appendChild(要添加的節(jié)點(diǎn)) tips: 在末尾添加
    insertBefore(要插入的節(jié)點(diǎn), 作為參照的節(jié)點(diǎn))
  2. 元素刪除
    appendChild(要插入的節(jié)點(diǎn), 要替換的節(jié)點(diǎn))
    removeChild(要移除的節(jié)點(diǎn))

6. DOM0 事件 和 DOM2 級(jí)在事件監(jiān)聽(tīng)使用方式上有什么區(qū)別兜叨?

  • DOM0 事件監(jiān)聽(tīng)器無(wú)法處理多個(gè)事件(當(dāng)在同一個(gè)元素上再添加一個(gè)監(jiān)聽(tīng)事件時(shí)會(huì)覆蓋之前的事件方法)穿扳,DOM2 級(jí)事件監(jiān)聽(tīng)器可以處理多個(gè)事件(事件列表)。
  • DOM2 級(jí) (addEventListener()) : 可以選擇在捕獲階段觸發(fā)事件或者在冒泡階段觸發(fā)事件国旷。DOM0 無(wú)法選擇矛物。
  • DOM0 不存在兼容性問(wèn)題,DOM2 在 IE8 之前不支持跪但。( IE 使用attachEvent(‘click’, func) )

7. attachEventaddEventListener 有什么區(qū)別泽谨?

  • attachEvent是老版本IE瀏覽器上監(jiān)聽(tīng)事件的方法,接受兩個(gè)參數(shù)特漩,第一個(gè)參數(shù)是事件類(lèi)型吧雹,格式為”on+type”(onclick),第二個(gè)參數(shù)是事件處理程序函數(shù)。事件處理程序只能發(fā)生在冒泡階段涂身。
  • addEventListener是現(xiàn)代大多數(shù)逐漸主流瀏覽器(Chrome,firefox,safari)監(jiān)聽(tīng)事件的方法雄卷,接受三個(gè)參數(shù),第一個(gè)參數(shù)時(shí)事件類(lèi)型蛤售,格式為”type”(click),第二個(gè)參數(shù)是事件處理程序函數(shù)丁鹉,第三個(gè)參數(shù)是布爾值,默認(rèn)為false(冒泡事件),true為捕獲階段事件。

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

  • IE事件冒泡:事件由觸發(fā)元素所在的具體節(jié)點(diǎn)開(kāi)始揣钦,逐級(jí)向上傳播,直至html根節(jié)點(diǎn)漠酿。
  • DOM2事件傳播機(jī)制:DOM2事件傳播機(jī)制屬于DOM事件流(DOM2級(jí)事件規(guī)定事件流包括三個(gè)階段冯凹,事件捕獲階段,處于目標(biāo)階段炒嘲,事件冒泡階段宇姚,首先發(fā)生的是事件捕獲,為截取事件提供機(jī)會(huì)夫凸,然后是實(shí)際目標(biāo)接收事件浑劳,最后是冒泡階段),并且第三個(gè)參數(shù)可以設(shè)置事件觸發(fā)時(shí)是捕獲階段或者冒泡階段夭拌。

9. 如何阻止事件冒泡魔熏?如何阻止默認(rèn)事件衷咽?

  • 阻止事件冒泡:
    • event.stopPropagation()
    • IE: event.cancelBubble=true ( 這里默認(rèn)為 false )
  • 阻止默認(rèn)事件:
    • event.preventDefault()
    • IE: event.returnValue = false ( 這里默認(rèn)為 true )


代碼

1. 要求:

  • 當(dāng)點(diǎn)擊每一個(gè)元素li時(shí)控制臺(tái)展示該元素的文本內(nèi)容。不考慮兼容

效果預(yù)覽

2. 補(bǔ)全代碼蒜绽,要求:

  • 當(dāng)點(diǎn)擊按鈕開(kāi)頭添加時(shí)在 <li> 這里是 </li> 元素前添加一個(gè)新元素兵罢,內(nèi)容為用戶(hù)輸入的非空字符串;當(dāng)點(diǎn)擊結(jié)尾添加時(shí)在 <li> 前端6班 </li> 后添加用戶(hù)輸入的非空字符串.
  • 當(dāng)點(diǎn)擊每一個(gè)元素li時(shí)控制臺(tái)展示該元素的文本內(nèi)容滓窍。

效果預(yù)覽

3. 補(bǔ)全代碼卖词,要求:

  • 當(dāng)鼠標(biāo)放置在li元素上,會(huì)在img-preview里展示當(dāng)前l(fā)i元素的data-img對(duì)應(yīng)的圖片吏夯。

效果預(yù)覽

4. 實(shí)現(xiàn)如下圖Tab切換的功能

JSBin_代碼地址_方法 1
JSbin_代碼地址_方法 2

5. 實(shí)現(xiàn)下圖的模態(tài)框功能

效果預(yù)覽

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末此蜈,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子噪生,更是在濱河造成了極大的恐慌裆赵,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件跺嗽,死亡現(xiàn)場(chǎng)離奇詭異战授,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)桨嫁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén)植兰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人璃吧,你說(shuō)我怎么就攤上這事楣导。” “怎么了畜挨?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵筒繁,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我巴元,道長(zhǎng)毡咏,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任逮刨,我火速辦了婚禮呕缭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘禀忆。我一直安慰自己臊旭,他們只是感情好落恼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布箩退。 她就那樣靜靜地躺著,像睡著了一般佳谦。 火紅的嫁衣襯著肌膚如雪戴涝。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音啥刻,去河邊找鬼奸鸯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛可帽,可吹牛的內(nèi)容都是我干的娄涩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼映跟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蓄拣!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起努隙,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤球恤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后荸镊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體咽斧,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年躬存,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了张惹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡岭洲,死狀恐怖诵叁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情钦椭,我是刑警寧澤拧额,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站彪腔,受9級(jí)特大地震影響侥锦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜德挣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一恭垦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧格嗅,春花似錦番挺、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至贴铜,卻和暖如春粪摘,著一層夾襖步出監(jiān)牢的瞬間瀑晒,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工徘意, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留苔悦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓椎咧,卻偏偏與公主長(zhǎng)得像玖详,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子勤讽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

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

  • 一地技、問(wèn)答 1. dom對(duì)象的innerText和innerHTML有什么區(qū)別蜈七? innerHTML: 也就是從對(duì)象...
    饑人谷_羅偉恩閱讀 597評(píng)論 0 2
  • 一飒硅、dom對(duì)象的innerText和innerHTML有什么區(qū)別? innerHTML返回的是從對(duì)象起始位置到終止...
    __Qiao閱讀 414評(píng)論 0 0
  • 問(wèn)答 1、dom對(duì)象的innerText和innerHTML有什么區(qū)別妹懒? innerText屬性①innerTex...
    鴻鵠飛天閱讀 639評(píng)論 0 1
  • dom對(duì)象的innerText和innerHTML有什么區(qū)別眨唬? innerHTML指的是從對(duì)象的起始位置到終止位置...
    coolheadedY閱讀 488評(píng)論 0 0
  • 問(wèn)題 1.dom對(duì)象的innerText和innerHTML有什么區(qū)別匾竿? innerText: 當(dāng)使用innerT...
    饑人谷_任磊閱讀 623評(píng)論 0 1