节点操作 获取节点对象 名称内容

节点操作

 <div>我是建立的div标签</div>
  <script>
    // 节点的操作
    // 节点的 新增 删除 克隆 写入

    // 节点的创建
    // 创建标签节点: document.createElement('标签名称');
    //              创建的是一个标签对象
    //              之前是设定字符串,写入HTML文件,浏览器执行为标签效果
    // 创建文本节点: document.createTextNode('要创建的文本内容');

    // 现在创建的是一个对象,要操作标签的内容,属性属性值等,必须要通过对象的方法来设定

    var oDiv = document.createElement('div');
    // 使用操作对象的方式,给标签添加设定
    oDiv.id = 'div1';
    // setAttribute,来设定自定义属性
    oDiv.setAttribute('index' , 1);
    console.dir(oDiv);

    var oText = document.createTextNode('要创建的文本内容');
    console.log(oText);


    // 删除节点 删除当前标签中的子级节点
    // 当前标签.removeChild('你要删除的节点')

    // 克隆节点 克隆复制当前节点对象
    // 只克隆标签本身 当前标签.cloneNode();
    // 克隆标签以及标签内容 当前标签.cloneNode(true);

    // 写入节点 
    // 当前标签.appendChild(你要写入的标签对象)  在当前标签结束位置写入
    // 当前标签.insertBefore(你要写入的标签对象 , 在哪个子级标签前)  在当前标签,子级标签之前,写入

    // 一个标签对象,只会出现在最后一次写入的位置
    // 相对对于将一个标签对象,多次写入,从上一个位置,会移动到下一个位置
    // 只会出现在最后一个位置

    var d = document.querySelector('div');

    d.appendChild(oText);

    d.insertBefore(oDiv , d.firstChild);


    d.appendChild(oDiv);

获取节点对象

<!-- 我是注释1 -->

<div name="div" index="1" href="aaa" checked>我是标签div

    <!-- 我是注释2 -->
    
    <span>我是标签span</span>

</div>

<!-- 我是注释3 -->
<p>我是标签p</p>

<script>
    // 获取节点对象的方法

    var oDiv = document.querySelector('div');

    // 1,获取当前标签中所有的子级节点
    // 执行结果,是一个伪数组,可以forEach()
    // 形式是与 querySelectorAll() 获取的伪数组是一样的
    console.log( oDiv.childNodes );

    // 2,获取当前标签中,所有的元素节点/标签节点
    // 执行结果,是一个伪数组,不能forEach()
    // console.log( oDiv.children );

    // 3,获取当前标签中,第一个节点
    // 执行结果,是一个对象,内容形式与DOM操作方式,获取的内容是一样的
    console.dir( oDiv.firstChild );

    // 4,获取当前标签中,最后一个节点
    // 执行结果,是一个对象,内容形式与DOM操作方式,获取的内容是一样的
    // console.dir( oDiv.lastChild );
    // console.dir( document.querySelector('span') );

    // 5,获取当前标签中,第一个标签节点,其他节点不会获取
    // console.log( oDiv.firstElementChild );

    // 6,获取当前标签中,最后一个标签节点,其他节点不会获取
    // console.log( oDiv.lastElementChild );

    // 7,获取当前标签,上一个兄弟节点(找哥哥)
    // 如果没有执行结果是null
    // console.log( oDiv.previousSibling );

    // 8,获取当前标签,下一个兄弟节点(找弟弟)
    // 如果没有执行结果是null
    // console.log( oDiv.nextSibling );

    // 9,获取当前标签,上一个兄弟元素节点(找标签哥哥)
    // console.log( oDiv.previousElementSibling );

    // 10,获取当前标签,下一个兄弟元素节点(找标签弟弟)
    // console.log( oDiv.nextElementSibling );

    // 11,获取当前标签,父级节点
    // 只获取直接父级节点
    // console.log( oDiv.parentNode );
    // console.log( document.querySelector('span').parentNode );

    // 12,获取当前标签,所有属性节点
    // 执行结果,是一个伪数组,不能forEach()
    // console.log( oDiv.attributes );

    // 总结
    // 1,通过节点操作获取的对象/伪数组与通过 DOM操作的对象/伪数组,形式上是一致的
    //   可以相互操作,DOM方法可以操作 节点对象
    //               节点方法可以操作 DOM对象
    // 2,执行结果,伪数组/对象
    //   伪数组有的可以forEach, 有的不能forEach
    //   

名称内容

    // 节点的类型,名称,内容
    
    // 节点的类型: 对象.nodeType 属性中存储,数据是 一个数值
    //   元素节点/标签节点 : 1
    //   属性节点 : 2
    //   文本节点 : 3
    //   注释节点 : 8

    // 节点的名称: 对象.nodeName
    //   元素节点/标签节点 : 大写字母的 标签名称 
    //   属性节点 : 小写字母的 属性名称
    //   文本节点 : #text
    //   注释节点 : #comment

    // 节点的内容: 对象.nodeValue
    //   元素节点/标签节点 : null
    //   属性节点 : 属性的属性值
    //   文本节点 : 文本内容,包括换行和空格
    //   注释节点 : 注释内容,包括换行和空格
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值