在這裡我還介紹乙個訪問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...