我的前端入门笔记(8)--js--DOM

1.innerText和innerHTML的区别

document.getElementByTagName(" ").innerText = "元素中显示的文本内容";
document.getElementByTagName(" ").innerHTML = "如果含有元素标签,则标签进入dom树";
具体如下:

  <p>我是段落</p>

  <script>
     var el = document.getElementByTagName("p");
     el.innerText = "<span>我是innerText</span>";//el:<p><span>我是innerText</span></p>   //文本内容:<span>我是innerText</span>
     el.innerHTML= "<span>我是innerHTML</span>";//el:<p><span>我是innerText</span></p>   //为文本增加了p标签,文本内容:我是innerHTML
  </script>
2.节点访问及Dom操作

以下面小段html为例:

<div id = "mydiv">
      <p id= "p1">我是第一个段落</p>
      <p class = "p2">我是第二个段落</p>
</div>  
节点访问

(1)getElementById() 方法返回带有指定 ID 的元素:

var element = document.getElementById("mydiv");

(2)getElementsByTagName() 返回包含带有指定标签名称的所有元素的节点(以数组形式输出):

var element = getElementsByTagName("p");

(3)getElementsByClassName() 返回包含带有指定类名的所有元素的节点列表:

var element = getElementsByClassName("p1") ;
DOM操作

(1)修改html的内容

<script type = "text/javascript">
    var el = document.getElementById("p1");//获取id为p1的元素
      el.innerHTML="New text!";;//将该元素的内容改为New text!
</script>

(2)修改html的属性

 <img id="image" src="smiley.gif">

 <script>
      document.getElementById("image").src="landscape.jpg";//改变图片地址
      document.getElementById("image").setAttribute('class','pic');//增加class="pic"
 </script>

(3)添加新元素
在父元素末尾添加孩子节点(appendChild)

  <div class="d1">
  </div>
  
  <script>
       var para=document.createElement("p");
       para.innerHtml="我是新添加的段落";
       var element=document.getElementsByClassName("d1");
       element.appendChild(para);//增加为最后一个子孩子
 </script>

 //增加之后DOM元素如下
 <div class = "dl">
    <p>我是新添加的段落</p>
 </div>

在兄弟节点前添加节点(insertBefore)

<script> 
    var para2=document.createElement("div"); 
          para2.innerHtml="我是新添加的div"; 
    var element=document.document.getElementsByTagName("p") ,
         parent=document.getElementsByClassName("d1");
    parent.insertBefore(para2,element);//在p元素前增加一个div
    parent.removeChild("p");//删除元素p
</script>

//增加之后DOM元素如下
  <div class = "dl"> 
     <div>我是新添加的div</div>
     <p>我是新添加的段落</p> 
 </div>

//删除之后
 <div class = "dl"> 
     <div>我是新添加的div</div>
     <p>我是新添加的段落</p> 
 </div>

(4)改变元素样式

<p id="p1">我是段落,要变色</p>
<button>变色</button>

<script>
    document.getElementsByTagName('button')[0].onclick=function(){
       document.getElementById('p1').style.color="red";
    }
</script>

(5)替换元素
replaceChild

var btn1 = document.getElementById("btn1");//获取旧按钮
var btn3 = document.createElement("button");//创建新按钮
btn3.id = "btn3";              //<button id="btn3">新按钮</button>
btn3.innerText = "新按钮";
c1.replaceChild(btn3, btn1);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人博客:https://yeaseonzhang.github.io 花了半个多月的时间,终于又把“JS红宝书”...
    Yeaseon阅读 11,634评论 9 52
  • 基本介绍 文档对象模型 (DOM) 是HTML和XML文档的编程接口。它给文档(结构树)提供了一个结构化的表述并且...
    草鞋弟阅读 495评论 0 0
  • 冬天的阳光必要配以冷风才是最有醉人气息的佳酿! 深蓝色的长衣在阳光里被暖和,剃光胡须的下巴靠在上面有的不只是温度还...
    叁玖贰肆阅读 208评论 0 0
  • 内容总结: 第一章:做一个好的运营人,需要有哪些特质?1、自我学习改进总结,不要安于现有的成绩,别人2小时做的活,...
    欣然面对阅读 417评论 0 0
  • 忽然就想起我们的学校来了。 好想再骑着自行车,和当年的三个小伙伴,一起走一走当年那条上学的路。 虽然那条路只有三十...
    6cb106582cd2阅读 214评论 1 1