We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
本系列的主题是 JavaScript 基础,每期讲解一个技术要点。如果你还不了解各系列内容,文末点击查看全部文章,点我跳转到文末。
如果觉得本系列不错,欢迎 Star,你的支持是我创作分享的最大动力。
DOM 节点的获取的API及使用:
getElementById // 按照 id 查询 getElementsByTagName // 按照标签名查询 getElementsByClassName // 按照类名查询 querySelectorAll // 按照 css 选择器查询 // 按照 id 查询 var imooc = document.getElementById('imooc') // 查询到 id 为 imooc 的元素 // 按照标签名查询 var pList = document.getElementsByTagName('p') // 查询到标签为 p 的集合 console.log(divList.length) console.log(divList[0]) // 按照类名查询 var moocList = document.getElementsByClassName('mooc') // 查询到类名为 mooc 的集合 // 按照 css 选择器查询 var pList = document.querySelectorAll('.mooc') // 查询到类名为 mooc 的集合
创建一个新节点,并把它添加到指定节点的后面。 已知的 HTML 结构如下:
<div id="container"> <h1 id="title">我是标题</h1> </div>
要求添加一个有内容的 span 节点到 id 为 title 的节点后面,做法就是:
span
// 首先获取父节点 var container = document.getElementById('container') // 创建新节点 var targetSpan = document.createElement('span') // 设置 span 节点的内容 targetSpan.innerHTML = 'hello world' // 把新创建的元素塞进父节点里去 container.appendChild(targetSpan)
删除指定的 DOM 节点, 已知的 HTML 结构如下:
需要删除 id 为 title 的元素,做法是:
// 获取目标元素的父元素 var container = document.getElementById('container') // 获取目标元素 var targetNode = document.getElementById('title') // 删除目标元素 container.removeChild(targetNode)
或者通过子节点数组来完成删除:
// 获取目标元素的父元素 var container = document.getElementById('container') // 获取目标元素 var targetNode = container.childNodes[1] // 删除目标元素 container.removeChild(targetNode)
注意,childNodes[1]的下表是1,而不是0,0是<div id="container"> 里最上面的文本。
childNodes[1]
1
0
<div id="container">
比如下面的html结构:
<div id="container"> 文本1 <h1 id="title">我是标题</h1> 文本2 </div>
打印<div id="container">的childNodes:
childNodes
var container = document.getElementById('container') console.log(container.childNodes);
分别展开0和2的对象:
所以,childNodes[1]才是目标的dom节点,就算节点前后都没有文本,那表示文本为空,并不是说没有文本:
var div1 = document.getElementById('div1') // 添加新节点 var p1 = document.createElement('p') p1.innerHTML = 'this is p1' div1.appendChild(p1) // 添加新创建的元素 // 移动已有节点。注意,这里是“移动”,并不是拷贝 var p2 = document.getElementById('p2') div1.appendChild(p2)
var div1 = document.getElementById('div1') var parent = div1.parentElement
查看全部文章
各系列文章汇总:https://github.com/yuanyuanbyte/Blog
我是圆圆,一名深耕于前端开发的攻城狮。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
本系列的主题是 JavaScript 基础,每期讲解一个技术要点。如果你还不了解各系列内容,文末点击查看全部文章,点我跳转到文末。
如果觉得本系列不错,欢迎 Star,你的支持是我创作分享的最大动力。
常见的DOM操作有哪些
DOM 节点的获取
DOM 节点的获取的API及使用:
DOM 节点的创建
创建一个新节点,并把它添加到指定节点的后面。 已知的 HTML 结构如下:
要求添加一个有内容的
span
节点到 id 为 title 的节点后面,做法就是:DOM 节点的删除
删除指定的 DOM 节点, 已知的 HTML 结构如下:
需要删除 id 为 title 的元素,做法是:
或者通过子节点数组来完成删除:
注意,
childNodes[1]
的下表是1
,而不是0
,0
是<div id="container">
里最上面的文本。比如下面的html结构:
打印
<div id="container">
的childNodes
:分别展开0和2的对象:
所以,
childNodes[1]
才是目标的dom节点,就算节点前后都没有文本,那表示文本为空,并不是说没有文本:新增节点和移动节点
获取父元素
查看全部文章
博文系列目录
交流
各系列文章汇总:https://github.com/yuanyuanbyte/Blog
我是圆圆,一名深耕于前端开发的攻城狮。
The text was updated successfully, but these errors were encountered: