Dom基础语法

DOM基本操作

DOM 全称document object model 文档对象模型 操作HTML

HTML文档有HTML+css组成 DOM 利用js操作HTML+css的

操作元素节点 element Element 元素节点对象

查 获取元素节点的方式

通过选择器获取

div就是元素的节点(任意的标签都是元素节点)

id就是属性节点(任意的属性都是属性节点)

你好就是文本节点(任意的文本都是文本节点)

<div id="box" class="content" name="divName">你好</div>

id选择器

通过id属性来获取元素 里面的参数为string类型的id,返回值是一个HTMLElement

获取id值为box的元素

var box = document.getElementById("box")​console.log(box);

class选择器

通过class属性名来获取对应的元素

它传入的参数为string类型的class名字

返回值是一个HTMLCollectionof<Element>,返回的是一个集合,这个集合里面存储了Element。

HTMLCollection是一个类似数组的一种结构,具备下标同时具备length属性,可能会有多个数据。

但是HTMLCollection并不是一个数组,它不具备数组的方法,只是存在对应的下标和length属性

var content = document.getElementsByClassName("content")

console.log(content);

可以通过下标来获取对应的HTMLcollection里面的元素

console.log(content[0]);

通过name名字来获取

返回的是一个nodeList,nodeList不是HTMLCollection nodeList和HTMLCollection的区别 但是它同样具备对应的下标和length属性,他的方法比HTMLCollection要多

var divName = document.getElementsByName('divName')​
console.log(divName);
​console.log(divName[0]);

复合选择器

里面的参数为string类型的选择器,返回第一个匹配选择器的元素,返回的是一个element

var selectDiv = document.querySelector('div')

console.log(selectDiv);

返回所有匹配选择器内容 接收的是一个nodeList

var selectAll = document.querySelectorAll('.content')//这个类似于css写法,css里面.box,#box。在这个里也是这样写

console.log(selectAll);

console.log(selectAll[0]);

元素的属性(赋值就是设置 没有赋值就是获取)

id 属性

获取id值 className 属性

获取class名字

title 获取title属性

style 获取对应的样式 (element.style.样式名)

innerHTML 获取元素里面显示的内容(包含了html代码)

innerText 获取元素里面显示的文本 (只包含文本 不包含html代码)

TagName 只读的获取标签名

属性节点的操作

获取所有的属性节点

attributes 属性获取所有的属性节点

从attributes获取的属性节点集合中读取对应的属性节点

通过下标读取 [0]

通过对应的属性名读取 [‘属性名’]

通过getNamedItem 方法进行获取 里面传入的参数为属性名 通过.的方式获取 .id

attributes 属性获取所有的属性节点的Map里面包含的方法

item 根据下标找到对应的属性节点 返回的attr对象

getNamedItem 根据属性名进行获取 返回的attr对象

setNamedItem 根据对应的属性名进行设置 返回的attr对象

removeNamedItem 根据对应的属性名进行删除 返回的attr对象

获取属性值的方法

getAttribute 根据属性名获取属性值 返回的类型是String

setAttribute 根据传入的属性名和属性值进行设置

removeAttribute 根据属性名移除属性 节点关系(属性)

children 属性 获取所有的子元素节点(不包含文本节点)

childNodes 获取所有的子节点 (包含文本节点)

firstChild 获取第一个子节点 (包含文本节点)

lastChild 获取最后一个子节点 (包含文本节点)

parentNode 获取父节点

parentElementNode 获取父元素节点

nextSibling 下一个兄弟

previousSibling 上一个兄弟节点

节点类型获取(属性)

nodeType 1表示元素节点 2表示属性节点 3表示文本节点

nodeValue 获取对应的节点值

nodeName 获取节点的名称

属性设置

对于天生就有的属性通过.属性名直接进行获取或者设置

a.href = '百度一下,你就知道'

对于本身没有的使用setAttribute来进行设置 或者通过getAttribute进行获取

节点操作

节点创建(方法)

元素节点的创建 document.createElement('标签名') 返回的是一个element

属性节点创建 document.createAttribute('属性名') 返回的是一个Attr对象 (必须要指定value值)

文本节点创建 document.createTextNode('文本值') 返回的是一个文本节点

子节点操作(方法)

appendChild 添加子节点

removeChild 删除子节点

replaceChild 替换子节点

cloneNode 克隆节点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值