DOM樹的新增刪除,訪問HTML的屬性

2021-10-01 22:30:54 字數 1624 閱讀 9194

在這裡我還介紹乙個訪問html元素的方法:

通過選擇器查詢: document.queryselectorall(「css選擇器」)

返回文件中匹配指定 css 選擇器的所有元素,返回 nodelist 物件。是乙個靜態的 nodelist 型別的物件。

通過與css選擇器的結合使用,有很多作用

訪問html的屬性:

getattribute() 方法返回指定屬性名的屬性值。

element.getattribute(attributename)
setattribute 修改屬性值

element.setattribute("屬性名", "屬性值");
removeattribute 刪除屬性

element.removeattribute("屬性名");
hasattribute 判斷是否包含屬性

element.hasattribute("屬性名");
以上都是html標準屬性

還可以使用htmldom訪問

element.屬性名
上面的功能都可以用這種方法實現,兩者沒有區別,那種適合就用那種

dom樹的新增

如果要新增乙個新元素,就需要建立乙個元素

建立新元素 createelement

//例子: 建立a標籤

var a = document.createelement("a");
要注意的是建立元素後,它存在於記憶體中,只有把它新增到domtree上,才會在頁面上顯示

insertbefore() 方法在您指定的已有子節點之前插入新的子節點。

parentelement.insertbefore(newelem, elem);

也需要父元素來使用

replacechild() 方法用新節點替換某個子節點。

parentelement.replacechild(newelem, elem);

也需要父元素來使用

刪除元素

removechild() 方法刪除指定元素的某個指定的子節點。

parentelement.removechild(elem);

通過父元素刪除

以 node 物件返回被刪除的節點,如果節點不存在則返回 null。

remove() 刪除指定元素

element.remove();
要注意的一點是,頻繁操作dom樹會導致的頁面重繪、重新排版、浪費資源影響效能,導致使用者體驗不好,這時就可以用到createdocumentfragment()方法

createdocumentfragment()方法 建立乙個臨時儲存多個子元素的虛擬父元素

var f= document.createdocumentfragment();
將對dom樹的操作新增到這個虛擬父元素中,當所有的操作完成後,再將這個虛擬父元素新增到dom樹上,新增完成後,這個虛擬父元素會自動從記憶體中釋放,相當於只操作一次dom樹

HTML結構與DOM樹

html結構與dom樹 html基本結構 hello world html 用來網頁的一種語言,指超文字標記語言 必須在文件的第一行,用來指示web瀏覽器當前使用的html版本,沒有結束標籤,對大小寫不敏感 定義文件對頭部,是所有頭部元素的容器,可以引用指令碼 指示瀏覽器在 找到樣式表 提供元資訊等...

DOM 建立和刪除HTML元素

例如,如果想要在div中新建乙個段落p那麼需要分成以下幾步完成 1,建立新的元素。createelement 節點名 var para document.createelement p 2,建立p元素中的文字,文字為乙個文字節點。createtextnode 文字 var text node doc...

DOM對HTML元素訪問操作2

form 返回列表框 下拉列表所在的表單物件 length 返回列表框 下拉列表的選項個數 options 返回列表框 下拉列表裡所有選項組成的陣列 selectedindex 返回下拉列表中選中選項的索引 type 返回下拉列表的型別,多選的話返回select multiple,單選返回selec...