JavaScript(JS)之Javascript对象DOM之增删改查(四)

时间:2023-03-08 18:03:02

创建节点:var ele_a = document.createElement('a');
添加节点:ele_parent.appendChild(ele_img);
删除节点:ele_parent.removeChild(ele_p);
替换节点:ele_parent.replaceChild(新标签,旧标签);

1.创建节点

createElement(标签名) :创建一个指定名称的元素。

var  tag=document.createElement(“input")
//tag.setAttribute('type','text');
tag.type = "text" // 推荐使用这种方式,简单
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <div class="div1"></div> </body> <script>
var tag = document.getElementsByClassName("div1")[0];
console.log(tag); var tag_input = document.createElement("input");
tag_input.type = "text";
//tag_input.setAttribute('type',"submit"); tag.appendChild(tag_input); </script> </html>

2.添加节点

追加一个子节点(作为最后的子节点)

somenode.appendChild(newnode)

把增加的节点放到某个节点的前边

somenode.insertBefore(newnode,某个节点);

3.删除节点

removeChild():获得要删除的元素,通过父元素调用删除

4.替换节点

somenode.replaceChild(newnode, 某个节点);

5.节点属性操作

  1.获取文本节点的值:innerText    innerHTML

    innerText:不管你是赋值还是取值,只能识别纯文本

     innerHtml:既可以识别纯文本,也可以识别标签
//    文本属性
// 1.innerText:不管你是赋值还是取值,只能识别纯文本
var a1 = document.getElementsByClassName('c2')[0];
// console.log(a1);
//取值操作
console.log(a1.innerText); //你好吗/
console.log(a1.innerHTML); //你好吗/
//赋值操作
a1.innerText='Egon';
a1.innerHTML='<a href="">hello</a>';
// 2.innerHtml:既可以识别纯文本,也可以识别标签
var b1 = document.getElementsByClassName('c2')[1];
// console.log(b1);
//取值操作
console.log(b1.innerText);
console.log(b1.innerHTML);
//赋值操作
b1.innerText = 'lala';
b1.innerHTML = '<input type="text">';

  2.属性(attribute)操作:

elementNode.setAttribute(name,value)
elementNode.getAttribute(属性名) <-------------->elementNode.属性名(DHTML)
elementNode.removeAttribute(“属性名”);

泛指所有的属性
  getAttribute 可以操作其他的,,但是不可以操作class

<body><div class="c1" id="d1">DIV</div>
<script>
var ele = document.getElementsByClassName('c1')[0];
ele.id='d2';//修改id
console.log(ele); //取属性值 :
// 方式一
console.log(ele.getAttribute('id'));
// 方式二
console.log(ele.id);
/ 属性赋值
// 方式一
ele.setAttribute('id','d3');
console.log(ele);
// 方式二
ele.id = 'd3';
console.log(ele);

  3.value获取当前选中的value值

    1.input

  2.select (selectedIndex)

  3.textarea

  

 4.关于class的操作:

//    class属性=============
var ele = document.getElementsByClassName('c1')[0];
console.log(ele.className); //打印类的名字 ele.classList.add('hide');
console.log(ele); //<div class="c1 hide" id="d1"> ele.classList.remove('hide');//吧添加的remove移除了
console.log(ele)

  5.改变css样式:

<p id="p2">Hello world!</p>

document.getElementById("p2").style.color="blue";

                             .style.fontSize=48px

增删改查的实例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title> <style>
.div1, .div2, .div3, .div4 {
width: 300px;
height: 100px;
}
.div1 {
background-color: darkblue;
}
.div2 {
background-color: yellow;
}
.div3 {
background-color: coral;
}
.div4 {
background-color: aqua;
}
</style> </head>
<body> <div class="div1">
<button onclick="add()">add</button>
hello div1
</div>
<div class="div2">
<button onclick="del()">del</button>
hello div2
</div>
<div class="div3">
<button onclick="change()">change</button>
<p>hello div3</p>
</div>
<div class="div4">
hello div4
</div> </body> <script> function add() {
var ele = document.createElement("p")
ele.innerHTML = "<h2>hello p</h2>";
ele.style.color = "red";
ele.style.fontSize = "10px";
var father = document.getElementsByClassName("div1")[0];
father.appendChild(ele);
} function del() {
var ele = document.getElementsByClassName("div1")[0];
var to_del = ele.getElementsByTagName("p")[0];
if (to_del)
ele.removeChild(to_del);
} function change() {
var img_ele = document.createElement("img");
img_ele.src = "1.jpg";
var father = document.getElementsByClassName("div3")[0];
var p_ele = father.getElementsByTagName("p")[0];
father.replaceChild(img_ele, p_ele);
} </script> </html>

例子