美文网首页
JS: day03

JS: day03

作者: AnnQi | 来源:发表于2017-08-02 17:54 被阅读0次

一、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>

相关文章

  • vue学习3

    day03 组件 组件 (Component) 是 Vue.js 最强大的功能之一 组件可以扩展 HTML 元素,...

  • js day03

    1.prompt 1)prompt中输入的值为字符串 2)想求和,必须把prompt中的值变为number类型 2...

  • js day03

    A我今天学了神马 操作符(操作符种类) 优先级 &&和||运算 If语句 for循环 循环案例

  • JS: day03

    一、DOM(文档对象模型) 1、nodeValue 属性(规定节点的值) ①元素节点的 nodeValue 是 u...

  • js基础day03

    js基础day03 一.综合练习 1.换肤效果封装 封装原则:相同代码不动,不同的当作参数传递进来 封装本质:将重...

  • Day03:js对象

    1、JavaScript的数字都为64位,整数最多15位,小数最多17位 属性: MAX VALUE、MIN VA...

  • 自律给我自由—Day003

    【叶子姑娘的自律100天挑战 Day03】 2019.01.16 Day03/100 【早起】继续保持在7点左右起...

  • day03补充-练习代码

    补充day03练习代码: 以上。

  • day03 Vue.js computed

    computed是Vue中的计算属性,与之前的data、methods同级,适合处理复杂的逻辑关系,优先级大于me...

  • java033缓冲流的特殊功能

    package day03; import java.io.BufferedReader; import java...

网友评论

      本文标题:JS: day03

      本文链接:https://www.haomeiwen.com/subject/otdylxtx.html