JS: day03

一、DOM(文档对象模型)

DOM对象方法.png

1、nodeValue 属性(规定节点的值)

①元素节点的 nodeValue 是 undefined 或 null
②属性节点的 nodeValue 是属性值
③文本节点的 nodeValue 是文本本身

<p id="test">hello world</p>
<script>
    var test = document.getElementById("test");
    console.log(test.firstChild.nodeValue);
</script>

2、nodeType 属性(返回节点的类型)

①元素(标签)节点返回的类型type------------1
②属性(ID)节点返回的类型type---------------2
③文本(文字)节点返回的类型type------------3

<p id="test">hello world</p>

<script>
    var p = document.getElementById("test");
    var attr=p.getAttributeNode("id");
    console.log(attr.nodeType);
</script>

3、获取元素的值(childNodes)

<p id="text">
         我是谁
         <a href="">hello</a>
          good
  </p>

<script>
//    .firstChild 获取第一个节点
//    .firstElementChild  获取第一个元素节点
//    .lastChild  获取最后一个节点
//    .lastElementChild  获取最后一个元素节点
    var p=document.getElementById("text");
    console.log(p.childNodes[0].nodeType);
</script>

4、创建新的 HTML 元素(createElement / createTextNode / appendChild)

<div id="parent">
    good
</div>

<script>
    var parent = document.getElementById("parent");
    var p = document.createElement("p");
    var text = document.createTextNode("hello world");
    p.appendChild(text);
    console.log(p);
    parent.appendChild(p);
</script>

5、添加新的 HTML 元素 - insertBefore(新的节点newChild,参照节点refChild)

如果要添加HTML 元素,必须清楚该元素的父元素:(this.parentNode:当前对象的父节点)

<div id="div">
    <p>first</p>
    <!--<p>hello world</p>-->
    <p id="one">good</p>
</div>

<script>
    var div = document.getElementById("div");
    var one = document.getElementById("one");
    /*1.生成p标签*/
    var p = document.createElement("p");
    var txt = document.createTextNode("hello world");
    p.appendChild(txt);
    console.log(p);
    div.insertBefore(p,one)
</script>

6、删除已有的 HTML 元素(removeChild)

如果要删除 HTML 元素,必须清楚该元素的父元素:(this.parentNode:当前对象的父节点)

<p>hello world</p>
<p id="del">删除我</p>
<button id="btn">btn</button>

<script>
    var btn = document.getElementById("btn");
    var del = document.getElementById("del");
    btn.onclick = function(){
            this.parentNode.removeChild(del);
    };
</script>

7、替换 HTML 元素(replaceChild)

如果要替换 HTML 元素,必须清楚该元素的父元素:(this.parentNode:当前对象的父节点)

<p>hello world</p>
<a id="one" href="#">baidu</a> <br/>
<!--<span>我替换你</span>-->
<button id="btn">btn</button>

<script>
    var btn = document.getElementById("btn");
    var span = document.createElement("span");
    var txt = document.createTextNode("我替换你");
    var one = document.getElementById("one");
    span.appendChild(txt);
    btn.onclick=function(){
        this.parentNode.replaceChild(span,one);
    }
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人博客:https://yeaseonzhang.github.io 花了半个多月的时间,终于又把“JS红宝书”...
    Yeaseon阅读 11,634评论 9 52
  • 节点层次 DOM 可以将任何 HTML 和 XML 文档描绘成一个由多层节点构成的结构。节点分为几种不同的类型,每...
    云之外阅读 551评论 0 1
  • 本章内容 理解包含不同层次节点的 DOM 使用不同的节点类型 克服浏览器兼容性问题及各种陷阱 DOM 是针对 HT...
    闷油瓶小张阅读 719评论 0 1
  • 偶然一次的机会在网上上看到了俞老师关于英语学习的一篇文章,顺藤摸瓜看到了豆瓣中老师的文章,每次看完都觉得人生会充满...
    Laura618阅读 268评论 0 0
  • 诗/夕木夏睿 《你的声音》 听 你美妙的声音像我喜欢的音乐 夏天的风轻轻的走来向我微笑 迷失在汹涌澎湃的大海 看 ...
    晨立夏尘阅读 435评论 0 5