一兔沃、DOM文檔對象模型
二蒋得、獲取元素方法
1、根據(jù)ID獲取 2乒疏、根據(jù)標(biāo)簽名獲取? 3额衙、通過H5新增方法獲取 4、獲取特殊元素(body怕吴,html)
1窍侧、根據(jù)ID獲取
.getElementById(‘ID名’)
2、根據(jù)標(biāo)簽名獲取
.getElementsByTagName(‘標(biāo)簽名’)
如果頁面有多個相同標(biāo)簽转绷,只想獲取其中某一個伟件,可以先給標(biāo)簽名加ID,然后先獲取ID名议经,再獲取ID名里面想要的元素
3斧账、通過H5新增方法獲取
(1)getElementsByClassName('類名')根據(jù)類名獲得里面所有的元素對象
(2)querySelector('選擇器名字') 類選擇器前要加點(diǎn)谴返,ID選擇器前加#,表明這是個什么選擇器其骄,并且是返回第一個元素對象
(3)querySelectorAll('選擇器名字') 類選擇器前要加點(diǎn)亏镰,ID選擇器前加#,返回的是選擇器內(nèi)所有的元素對象
4拯爽、獲取特殊元素
獲取body元素:document.body
獲取html元素:documen.documentElement
三、事件基礎(chǔ)
事件理解為觸發(fā)響應(yīng)機(jī)制钧忽,例如用戶點(diǎn)擊某按鈕時產(chǎn)生一個事件毯炮,彈出對話框
事件由三部分組成,事件源耸黑、事件類型(如何觸發(fā))桃煎、事件處理程序(做什么)
步驟:獲取事件源,注冊事件類型大刊,添加事件處理程序
四为迈、操作元素
1、改變常用元素內(nèi)容 (innerHTML更實(shí)用)
二者區(qū)別
代碼
2缺菌、修改元素屬性(文字葫辐,src,href等)
案例:點(diǎn)擊不同按鈕顯示不同圖片
案例:不同時間顯示不同圖片以及問候語
3伴郁、表單元素的屬性操作(type耿战,value值等)
密碼顯示、隱藏案例
4焊傅、樣式屬性操作(大小剂陡,顏色,位置等)
事件源.style 行內(nèi)樣式操作狐胎,適合修改樣式比較少的(駝峰命名法)
事件源.className =? '類名'? ?類名樣式操作鸭栖,適合修改樣式多的(先在css里寫好變化后的樣式,然后在事件里面引入這個類名)
.style和.className語法規(guī)范
循環(huán)精靈圖案例?
排他思想案例
換膚效果案例
鼠標(biāo)經(jīng)過握巢、離開事件案例
全選案例
4晕鹊、自定義屬性操作
3、移除自定義屬性
自定義屬性操作案例:tab欄切換(重點(diǎn))
H5規(guī)定自定義屬性由data-開頭镜粤,容易判斷這個是自定義的
五捏题、節(jié)點(diǎn)操作
節(jié)點(diǎn)用有nodeType(節(jié)點(diǎn)類型)、nodeName(節(jié)點(diǎn)名稱)肉渴、nodeValue(節(jié)點(diǎn)值)公荧,元素節(jié)點(diǎn)類型為1,屬性為2同规,文本為3循狰,開發(fā)主要操作元素節(jié)點(diǎn)
5.3 節(jié)點(diǎn)層級
1.父節(jié)點(diǎn)? parentNode
2窟社、獲取所有的子節(jié)點(diǎn)
方法一.ohildNodes (比較麻煩,會把空格文本節(jié)點(diǎn)也獲取過來绪钥,不推薦)
children? 獲取所有子節(jié)點(diǎn)第二種方法? ? ?推薦
獲取第一個子節(jié)點(diǎn)
方法一:.firstChild (包含所有節(jié)點(diǎn)灿里,因此第一個經(jīng)常獲取到的是空格)
方法二:.firstElementChild(獲取的是第一個元素節(jié)點(diǎn),i9以上支持)
方法三:?.children[0](獲取元素節(jié)點(diǎn)里的第一個? ?3谈埂匣吊!推薦!!)
獲取最后一個子節(jié)點(diǎn)
方法一:.lastChild (包含所有節(jié)點(diǎn)寸潦,因此第一個經(jīng)常獲取到的是空格)
方法二:.lastElementChild(獲取的是最后一個元素節(jié)點(diǎn)色鸳,i9以上支持)
方法三:.children[XX.children.length - 1]
(獲取元素節(jié)點(diǎn)里的最后一個? ?!见转!推薦命雀!!)
子節(jié)點(diǎn)案例:下拉菜單
3、兄弟節(jié)點(diǎn)
獲取當(dāng)前元素的下一個節(jié)點(diǎn)
方法一:.nextSibling(獲取下一個節(jié)點(diǎn)斩箫,包含所有類型節(jié)點(diǎn))
方法二:.nextElementSibling(獲取的是元素節(jié)點(diǎn)吏砂,i9以上支持)
獲取當(dāng)前元素的上一個節(jié)點(diǎn)
方法一:.previousSibling(獲取上一個節(jié)點(diǎn),包含所有類型節(jié)點(diǎn))
方法二:.previousElementSibling(獲取的是元素節(jié)點(diǎn)乘客,i9以上支持)
4狐血、創(chuàng)建和添加節(jié)點(diǎn)
創(chuàng)建節(jié)點(diǎn)? ?document.createElement('標(biāo)簽名')
添加節(jié)點(diǎn)?
方法一:父親.appendChild(兒子) —是追加在后面的
方法二:父親.insertBefore(兒子,添加到指定元素的前面)
創(chuàng)建添加節(jié)點(diǎn)案例:留言板
5寨典、刪除節(jié)點(diǎn)
node.removeChild(child) 刪除一個子節(jié)點(diǎn)
刪除節(jié)點(diǎn)案例:刪除留言
動態(tài)生成表格案例
克隆節(jié)點(diǎn)
node.cloneNode()
如果括號內(nèi)為空或者為false氛雪,則是淺拷貝,只復(fù)制標(biāo)簽耸成,不復(fù)制子節(jié)點(diǎn)报亩;
如果括號內(nèi)為ture,則是深拷貝井氢,復(fù)制標(biāo)簽并且復(fù)制里面的子節(jié)點(diǎn)弦追;
三種動態(tài)創(chuàng)建元素區(qū)別
6、DOM重點(diǎn)核心(總結(jié))
創(chuàng)建花竞、增劲件、刪、改约急、查零远、屬性操作、事件操作
6.1 創(chuàng)建?
1厌蔽、document.write? ? ? ? 2牵辣、innerHTML? ? ? ? 3、document.createElement('標(biāo)簽名')
6.2 增
1奴饮、父親.appendChild(兒子)追加在后面? ? ? ?2纬向、insertBefore (兒子择浊,放在指定元素前)
6.3 刪
1、node.removeChild(child)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者