DOM的学习---方法

注意:以下四个方法都需要父节点对象进行调用

1.appendChild

接受一个节点对象作为参数,将其作为最后一个子节点,插入当前节点。返回值就是插入文档的子节点

<script>
  // 创建元素节点p
  var p = document.createElement('p');
  // 向p标签插入内容
  p.innerHTML = '我是一个p标签';
  // 将节点插入到body中
  document.body.appendChild(p);
</script>

2.insertBefore

将某个节点插入父节点内部的指定位置

语法:var  自定义名称=parentNode.insertBefore(newNode,referenceNode)

newNode:所要插入的节点

referenceNode:父节点内部的一个子节点

作用:newNode将插在referenceNode这个子节点的前面

返回值:插入的新节点newNode

  <div id="parent">
    <span id="child">我是本来就有的span</span>
  </div>
  <script>
    // 创建一个新的、普通的<span>元素
    var el1 = document.createElement('span')
    // 向span标签插入内容
    el1.innerHTML = '我是新插入的span'
    // 插入节点前,要获得节点的引用
    var el2 = document.getElementById('child')
    // 获取父节点的引用
    var fujiedian = el2.parentNode;
    // 在DOM中在el2之前插入一个新的元素
    fujiedian.insertBefore(el1, el2)
  </script>

3.removeChild

接收一个子节点作为参数,用于从当前节点移除该子节点

返回值:移除的子节点

<body>
  <div id="parent">
    我是父元素节点
    <div id="child">我是子元素div</div>
  </div>
  <script>
    var childDiv = document.getElementById('child')
    childDiv.parentNode.removeChild(childDiv)
  </script>
</body>

4.replaceChild

用于将一个新的节点替换当前的节点

语法:var 自定义的名称=parentNode.replaceChild(newChild,oldChild)

newChild:新的节点

oldChild:要被替换的节点

<div id="d1">
  <span id="s1">我是span标签</span>
</div>
<script>
  var span1 = document.getElementById('s1');
  //创建一个新的div标签
  var div1 = document.createElement("div");
  // 向div标签插入内容
  div1.innerHTML = '我是div1标签';
  // 节点替换
  span1.parentNode.replaceChild(div1, span1);
</script>

5.cloneNode

方法返回调用该方法的节点的一个副本

语法:var dupNode = node.cloneNode(deep)

node:将要被克隆的节点

dupNode :克隆生成的父节点

deep:可选,如果是true,则该节点的所有后代节点也会被克隆,如果是false,则只克隆该节点本身

var p = document.getElementById("para1"),
var p_prime = p.cloneNode(true);

查找元素

方法描述
document.getElementById(id)通过元素 id 来查找元素
document.getElementsByTagName(name)通过标签名来查找元素
document.getElementsByClassName(name)通过类名来查找元素
document.querySelector()返回文档中匹配指定的CSS选择器的第一元素
document.querySelectorAll()document.querySelectorAll() 是 HTML5中引入的新方法,返回文档中匹配的CSS选择器的所有元素节点列表

 添加元素

document.createElement(element)

写入

document.write()

向文档写入文本或 HTML 表达式 或 JavaScript 代码

<script>
  document.write("<p>Hello world!</p>");
  document.write("<span>Hello DOM!</span>");
  document.write("Hello Weekend!");
</script>

常用方法

方法例子描述
element.innerHTML = new html content改变元素的 innerHTML
element.attribute = value直接将已经存在的属性进行修改
  d1.id = 'div2';
  d1.className='div21'
修改属性的值
element.getAttribute()console.log(div.getAttribute('id'))返回元素节点的指定属性值。
element.setAttribute(attribute, value) 

  // 设置div1的class为divCla
  d1.setAttribute('class', 'divCla')

设置或改变 HTML 元素的属性值
element.style.property = new style d1.style.backgroundColor = 'red'改变 HTML 元素的样式

element.innerHTML

属性设置或获取HTML语法表示的元素的后代

<div id="div1">我是一个div</div>
<script>
  var d1 = document.getElementById('div1');
  // 获取
  console.log(d1.innerHTML);
  // 设置
  d1.innerHTML = '我是新的内容'
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值