js基础--关于DOM

DOM对象

DOM全称Document Object Model),W3C推荐的处理可扩展置标语言的标准编程接口

DOM里面有很多方法,通过它提供的方法来操作一个页面的某个元素,可以理解为DOM操作就是HTML元素操作

DOM使用树形结构,用树节点的形式来表示页面中的每一个元素,如图
在这里插入图片描述

节点类型

DOM中共有12种类型,常见的三种如下
{ 元 素 节 点 属 性 节 点 文 本 节 点 \begin{cases} 元素节点\\ 属性节点\\ 文本节点 \end{cases}

在javascript中我们可以通过nodeType属性来判断一个节点的类型,不同的节点属性值如下
以某一个HTML节点为例

<p id="demo1">这是一个段落</p>
元素nodeType属性值
元素节点<p></p>1
属性节点id=“demo1”2
文本节点这是一个段落3

DOM对象遍历

父元素

获取某一个元素的父元素

DOM对象.parentNode

子元素

获取所有子节点(包括元素节点、文本节点、属性节点等等)

属性描述
childNodes所有子节点
firstChild第一个子节点
lastChild最后一个子节点

获取所有元素节点(只包括元素节点)

属性描述
children所有子元素节点
firstElementChild第一个子元素节点
lastElementChild最后一个子元素节点

兄弟元素

获取所有子节点(包括元素节点、文本节点、属性节点等等)

属性描述
previousSibling查找前一个兄弟节点
nextSibling查找后一个兄弟节点

获取所有元素节点(只包括元素节点)

属性描述
previousElementSibling查找前一个兄弟元素节点
nextElementSibling查找后一个兄弟元素节点

获取元素的方法

get

方法描述返回值
getElementById()通过id定位一个元素DOM
getElementsByTagName()通过标签名定位元素类数组
getElementsByClassName()通过类名定位元素类数组
getElementsName()通过name属性名定位元素类数组

query

方法描述
querySelector(“选择器”)选取满足条件的第一个元素
querySelectorAll(“选择器”)选取满足条件的所有元素

选择器类似于css选择器

创建元素的方法

方法描述
createElement()创建一个元素节点
creatTextNode()创建一个文本节点

操作元素的方法

插入

在我们创建一个元素节点时,需要将它插入到HTML文档,这就需要插入元素

//将B元素插入到A元素的子元素末尾
A.appendChild(B)
//将B元素插入到A元素的子元素C之前
A.insertBefore(B,C)

删除

//删除A元素的子元素B
A.removeChild(B)

替换

//将父元素中的子元素B替换为元素C
A.replaceChild(B,C)

设置HTML元素的内部属性

属性描述
innerHTML获取或设置一个元素的内部元素
innerText获取或设置一个元素的内部文本
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>这是一个html5 demo</title>

</head>
<body>
	<script>
		window.onload=function(){
			let new_html=document.createElement("p")
			new_html.className="the_new"
			new_html.style.backgroundColor="red"
			new_html.style.border="20px solid silver"
			new_html.innerText="这是一个段落"

			document.body.appendChild(new_html)
			//相当于
			// document.body.innerHTML='<p class="the_new" style="background-color:red; border:20px solid silver">这是一个段落</p>'
		}
	</script>
</body>
</html>

Chrome浏览器运行结果
在这里插入图片描述

获取HTML元素属性值

获取并设置HTML元素的属性值

DOM对象.属性值

//比如
//p.className  注意
//p.type
//p.id

对象方法

方法名描述
getAttribute(“属性名”)获取某个元素的属性值
setAttribute(“属性名”,“属性值”)设置元素的某个属性的值
removeAttribute(“属性名”)删除元素的某个属性
hasAttribute(“属性名”)判断元素是否包含某个属性

css属性值操作

获取CSS属性值

getComputedStyle(DOM对象).属性名
//或
getComputedStyle(DOM对象)[属性名]let a=getComputedStyle("p")["class"]
  1. 注意:css属性名的驼峰式写法
    font-size>>fontSize
    background-color>>backgroundColor
  2. getComputedStyle方法获取css属性值的优势
    我们知道,css有三种样式行内、内部、外部,对于某HTML元素,三种样式设置的CSS样式该方法都能够获得,但是下面的方法只能获得第一种即行内css样式

设置CSS属性值

style对象

DOM对象.style.属性名="属性值"
//或
DOM对象.style[属性名]="属性值"
如
p.style.width=30%;

cssText属性
可用于多个CSS属性

DOM对象.style.cssText="属性名:属性值;属性名:属性值,..."
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夺笋123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值