webAPI的基礎理解與運用文本框DOM節點(八)

獲取下拉列表框選中狀態

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節點);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章