獲取下拉列表框選中狀態
1. DOM對象.selected ---> 獲取當前列表項的選中狀態的
如果得到結果是true,那麼代表被選中了
如果得到的結果是false,那麼代表未被選中
2. DOM對象.selected = 值; ----> 設置列表項是否被選中
如果值是true ,那麼代表被選中
如果是false,那麼代表未被選中
文本框事件
1. onfocus ----> 當輸入框獲取鼠標焦點時候觸發的一個事件
2. onblur ----> 當輸入框失去焦點時候觸發的一個事件
補充:
通過js操作元素的隱藏和顯示
DOM對象.style.display = 'none' | 'block'
鼠標事件
1. onmouseenter ----> 鼠標進入的事件
2. onmouseleave ----> 鼠標離開時候的事件
3. onmouseover ----> 鼠標懸停事件(相當於鼠標進入)
4. onmouseout ----> 鼠標離開事件
操作標籤屬性
1. getAttribute()
-----> 獲取屬性的值【包括標籤本身就支持的屬性也包括用戶自定義的屬性】
總結:
☞ getAttribute('標籤的屬性名字')
☞ getAttribute()必須設置參數
☞ 如果標籤中沒有設置對應的屬性,那麼通過 getAttribute() 得到的結果是 null
☞ getAttribute() 可以獲取用戶自定義的屬性
2. setAttribute()
-----> 設置標籤的屬性
總結:
☞ setAttribute('屬性名','值');
☞ 第一個參數表示的是 屬性
☞ 第二個參數表示的是該屬性對應值
☞ 通過setAttribute可以設置標籤自定義的屬性
3. removeAttribute()
----> 移除標籤的屬性
總結:
☞ removeAttribute('屬性')
☞ 可以移除掉用戶自定義的屬性
操作自定義屬性 H5 專門操作自定義屬性的方式
☞ 在H5中如何定義自定義屬性
如果要給一個標籤設置自定義屬性,那麼需要在屬性前加 'data-'
例如:
<div data-age="89" data-weight='60'></div>
☞ 如何通過js操作自定義屬性
DOM對象.dataset
總結:
1. DOM對象.dataset 得到結果是一個對象
2. 該對象中放的就是自定義屬性
3. 只能獲取以'data-'開始的自定義屬性
4. 在獲取自定義屬性值的時候,不能加'data-'
例如:
div.dataset.weight
☞ 修改自定義屬性的值
DOM對象.dataset.自定義屬性名 = 值;
☞ 如果希望給標籤動態添加一個自定義屬性
DOM對象.dataset.自定義屬性名字 = 值;
注意:
1. 在動態添加自定義屬性的時候,自定義屬性的名字前不需要添加 'data-'
例如:
div.dataset.gender = '男';
2. DOM對象.dataset 只能操作 以 'data-'開始的自定義屬性
根據文檔樹方式獲取標籤
文檔樹: 文檔對象(document)
元素:指的就是html標籤
節點: html標籤,文字,屬性, 空格,回車。。。
☞通過文檔樹的方式獲取元素的思路: 通過父節點查找子節點, 通過子節點查找父節點
判斷父元素中是否包含子節點或子元素
☞ 父元素DOM對象.hasChildNodes() ----> 當前父元素中是否有子節點, 返回的是布爾類型的結果,
true 代表有節點 false 沒有節點
☞ 父元素DOM對象.childNodes ----> 獲取父元素中的所有子節點
總結:
1. 返回的也是僞數組,所有的節點
☞ 父元素DOM對象.firstChild ---> 獲取父元素中第一個子節點
☞ 父元素DOM對象.lastChild ---> 獲取父元素中最後一個子節點
☞【掌握】父元素DOM對象.children ----> 獲取父元素中的子元素(標籤)
總結:
1. 父元素DOM對象.children 返回的是僞數組
2. 如果父元素DOM對象.children的length屬性的長度 等於0 ,沒有子元素
☞【掌握】父元素DOM對象.firstElementChild ---> 獲取父元素中第一個子元素
總結:
1. 通過該屬性得到的結果就是對應元素的對象
☞【掌握】父元素DOM對象.lastElementChild ----> 獲取父元素中最後一個子元素
總結:
1. 通過該屬性得到的結果就是對應元素的對象
根據子元素獲取標籤的相關屬性
☞ 【掌握】獲取當前元素的父節點
DOM對象.parentNode
☞ 【掌握】獲取當前元素的下一個兄弟元素
DOM對象.nextElementSibling
總結:
1. 得到的結果是與當前元素最接近的那個兄弟元素
☞ 【掌握】獲取當前元素的上一個兄弟元素
DOM對象.previousElementSibling
總結:
1. 得到的結果是與當前元素最接近的那個兄弟元素
☞ 獲取元素類型
DOM對象.nodeType ----> 結果如果是1 ,代表當前的節點就是一個標籤
DOM對象.nodeType ----> 結果如果是3,代表的是一個空文本
☞ 獲取元素名字
DOM對象.nodeName ----> 獲取當前節點的名字
DOM對象.nodeName ----> #text ,代表當前節點就是一個空節點(回車,空格)
動態創建元素
1. 通過innerHTML方式創建一個標籤
2. document.write() 創建一個標籤
3. 通過方法創建元素
☞ document.createElement('標籤的名字') [通過document.createElement()創建出來就是對應的標籤對象]
☞ 將創建要的元素要添加到對應的文檔節點中
☞ 通過 父節點.appendChild(動態創建的元素) ----》 添加到頁面中
總結:
appendChild() 不能設置字符串,一定是一個對象
4. 移除元素
父元素DOM對象.removeChild(要被移除的node節點);