学习DOM

185 阅读2分钟

什么是DOM?

  • DOM 是 Document Object Model(文档对象模型)
  • W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。"

HTML DOM

  • HTML 的标准对象模型
  • HTML 的标准编程接口
  • W3C 标准

HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。 换言之,HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。

DOM Nodes

  • HTML文档就是HTML DOM的节点树

微信截图_20210419150638.png

HTML DOM 方法

  • HTML DOM 方法是我们可以在节点(HTML 元素)上执行的动作
  • HTML DOM 属性是我们可以在节点(HTML 元素)设置和修改的值

getElementById() 方法

  • getElementById() 方法返回带有指定 ID 的元素:
let a = document.getElementById("time");

getElementsByTagName() 方法

  • getElementsByTagName() 返回带有指定标签名的所有元素
document.getElementsByTagName("p");

The getElementsByClassName() Method

  • 查找带有相同类名的所有 HTML 元素
document.getElementsByClassName("intro");

创建HTML内容

<script>
document.getElementById("p1").innerHTML="新文本!";
</script>

改变 HTML 样式

document.getElementById("p1").style.color = "blue"
document.getElementById("p1").style.fontFamily = "Arial"//修改字体

使用事件

<input type="button" olick="document.body.style.backgroundColor='yellow'" value="修改背景颜色"> 

//-----

//引用函数的方法
<script>
function changeColor(){
    document.body.style.backgroundColor = 'yellow'
}
</script>

<input type="button" olick="changeColor()" value="修改背景颜色">

//-----

<p id="p1">Hello world!</p>
 
<script>
function ChangeText()
{
    document.getElementById("p1").innerHTML="Hello Runoob!";
}
</script>
 
<input type="button" onclick="ChangeText()" value="修改文本" />

创建新的元素 - createElement()

<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另一个段落。</p>
</div>
let para = document.createElement('p') //添加一个新段落
let node = document.createTextNode('这是新添加的段落内容')
para.appendChild(node) // 把内容放到段落里
let element = document.getElementById("div1") //获取div1 
element.appendChild(para)//吧p标签放到div1里

删除已有的 HTML 元素

要删除元素必须要找到他的父元素

<div id="div1">
    <p id="p1">这是一个段落。</p>
    <p id="p2">这是另一个段落。</p>
</div>
let parent = document.getElementById('div1')
let chile = document.getElementById('p')
parent = removeChile(chile)

//不需要查找父元素删除

let child=document.getElementById("p1")
child.parentNode.removeChild(child)

DOM事件

用户点击

<h1 onclick="this.innerHTML='Ooops!'">点击文本!</h1>

----------//函数中调用

<script>
function changeText(id){
    id.innerHTML="Ooops!"
}
</script>

<h1 onclick="changeText(this)">

onload事件(用于检查访客的浏览器版本,加载不同方式)

<body onload="checkCookies()"

<script>
function checkCookies(){
    if(navigator.cookieEnabled === ture){
        alter("Cookie可用")
    }
    else{
        alter("Cookie不可用")
    }
}
</script>

onchenge事件

<input type="text" id="fname" onchenge="myFunction()">

<script>
function myFunction(){
    let x = document.getElementById("fname")
    x.value = x.value.toUpperCase()
}
</script>

onmouseover和onmouseout事件

<div id="a" onmouseover="mOver(this)" onmouseout="mOut(this)" style="background-color:red;width:200px;height:200px">

<script>
function mOver(obj){
    obj.innerHTML="Thank you"
}
function mOut(obj){
    obj.innerHTML="Mouse Over Me"
}
</script>