DOM核心操作

前言

  JavaScript主要是由三部分組成:ECMAScript、DOM、BOM,今天我們一起來學習一下JS中DOM的核心操作吧。

是什麼

  DOM即Document Object Model(文檔對象模型),可以使用JS來操作HTML。

創建元素

  方式一:document.write

  創建方式:

document.write('我是後來的<p>我是更後的</p>')

  最終效果:
  在這裏插入圖片描述

  方式二:innerHTML

  創建方式:

var box = document.getElementById('box');
box.innerHTML = '新內容<p>新標籤</p>'

  最終效果:
  在這裏插入圖片描述

  方式三:createElement

  創建方式:

var div = document.createElement('div');
document.body.appendChild(div)

  最終效果:
  在這裏插入圖片描述

  三種方式區分:

document.write:如果實在頁面加載完畢後,此時通過這種方式創建元素,那麼頁面上存在的內容就都被幹掉了
innerHTML:採取數組形式拼接的時候,效率更高,但是結構稍微複雜
createElement:創建多個元素效率稍微低一點,但是結構更爲清晰

操作元素

  一、增

  1.appendChild

node.appendChild(child)  // 後面追加元素

  2.insertBefore

node.insertBefore(child, 指定元素)  // 在執行元素之前插

  代碼示例:
在這裏插入圖片描述

  二、刪

node.removeChild(child)   // 移除指定元素

  代碼示例:
在這裏插入圖片描述

  三、改

  1.修改元素屬性:src、href、title

img.src = 'openEye.png'

  2.修改普通元素內容:innerHTML、innerText

var box = document.getElementById('box');
box.innerHTML = '新內容<p>新標籤</p>'

  3.修改表單樣式:value、type、disabled

li.innerHTML = text.value;
input.type = 'password'
btn.disable = true

  4.修改元素樣式:style、className

img.style.display = 'none'
img.className=' '    // 在CSS中定義的類名

  四、查

  1.DOM提供的API:getElementById、getElementsByTagName

<div id='box'></div>
var box = document.getElementById('box');
var box2 = document.getElementsByTagName('div')

  2.H5提供的新方法:querySelector、querySelectorAll

var ul = document.querySelector('ul');
var li = document.querySelectorAll('li')

  3.利用節點操作獲取元素:parentNode、children、previousElementSibling、nextElementSibling

parentNode:返回的是離元素最近的父級節點 如果找不到就返回null
children:獲取所有的子元素節點
previousElementSibling:上一個兄弟元素節點
nextElementSibling:下一個兄弟元素節點

自定義屬性操作

  1.setAttribute

設置自定義屬性:setAttribute(“屬性的名字”,“屬性的值”);

  2.getAttribute

獲取自定義屬性的值:getAttribute(“屬性的名字”);

  3.removeAttribute

移除自定義屬性:removeAttribute(“屬性的名字”);

事件操作

  1.事件源.事件類型 = 事件處理程序

btn.onclick = function() {
	// do something
}

  2.addEventListener

document.addEventListener('click ', function() {
    // do something
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章