JSFiddle - React, Tailwind, and code Playground
by Jack Violet
HTML
<div>
<div id="container">
<h2 id="child">Hello Child</h2>
</div>
<br/>
<div id="buttonGroup"></div>
</div>
JavaScript
// 父节点向子节点插入元素
function appendChild() {
var container = document.getElementById("container")
var text = document.createElement("h2")
text.textContent = 'Hello New Child'
container.appendChild(text)
}
// 子节点获取父节点,在父节点后插入元素
function appendParent() {
var child = document.getElementById('child')
var parent = child.parentElement
var text = document.createElement("h1")
text.textContent = 'Hello Parent'
var root = parent.parentElement
root.insertBefore(text, parent.nextSibling)
}
// 在当前元素前插入元素
function appendPre() {
var child = document.getElementById('child')
var text = document.createElement("h2")
text.textContent = 'Hello Pre Child'
child.parentElement.insertBefore(text, child)
}
// 在当前元素后插入元素
function appendNext() {
var child = document.getElementById('child')
var text = document.createElement("h2")
text.textContent = 'Hello Next Child'
child.parentElement.insertBefore(text, child.nextSibling)
}
// 移除父元素中最后一个子元素
function removeEle() {
var container = document.getElementById('container')
if (container.lastChild) {
container.removeChild(container.lastChild)
}
}
// 替换父元素中的子元素
function replaceEle() {
var child = document.getElementById("child")
var newNode = document.createElement('div')
newNode.innerHTML = "<button>button</button>hello new node replaced"
var parent = child.parentElement
parent.replaceChild(newNode, child)
}
// 创建按钮组
var ButtonGroup = document.getElementById("buttonGroup")
var EventList = [
"appendChild",
"appendParent",
"appendPre",
"appendNext",
"removeEle",
"replaceEle"
]
var ButtonArr = []
for (var key of EventList) {
var btn = document.createElement('button')
btn.textContent = key
btn.onclick = eval(key)
ButtonArr.push(btn)
}
for (var b of ButtonArr) {
ButtonGroup.appendChild(b)
}