JavaScript知识点整理之获取元素和节点

本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于获取元素和节点的相关内容,包括了通过id、类名、name、标签名获取元素,创建、删除、克隆节点等问题,下面一起来看一下,希望对大家有帮助。

JavaScript知识点整理之获取元素和节点

【相关推荐:javascript视频教程、web前端】

获取元素

通过ID获取(getElementById)通过name属性(getElementsByName)通过标签名(getElementsByTagName)通过类名(getElementsByClassName)通过选择器获取一个元素(querySelector)通过选择器获取一组元素(querySelectorAll)获取html的方法(document.documentElement)获取body的方法(document.body

1.通过ID获取(getElementById)

// 1 获取元素节点    // 通过id的方式( 通过id查找元素,大小写敏感,如果有多个id只找到第一个)    document.getElementById('p1');

登录后复制

上下文必须是document。必须传参数,参数是string类型,是获取元素的id。返回值只获取到一个元素,没有找到返回null。

2.通过类名(getElementsByClassName)

    // 通过类名查找元素,多个类名用空格分隔,得到一个HTMLCollection(一个元素集合,有length属性,可以通过索引号访问里面的某一个元素)    var cls = document.getElementsByClassName('a b');    console.log(cls);

登录后复制参数是元素的类名。返回值是一个类数组,没有找到返回空数组

3.通过name属性(getElementsByName) 

 // 通过name属性查找,返回一个NodeList(一个节点集合,有length属性,可以通过索引号访问)   var nm =  document.getElementsByName('c');    console.log(nm);

登录后复制

4.通过标签名(getElementsByTagName) 

    // 通过标签名查找元素 返回一个HTMLCollection    document.getElementsByTagName('p');

登录后复制参数是是获取元素的标签名属性,不区分大小写。返回值是一个类数组,没有找到返回空数组

 5.通过选择器获取一个元素(querySelector)

document.querySelector('.animated')

登录后复制登录后复制参数是选择器,如:”p .className”。返回单个node,如果有多个匹配元素就返回第一个

6.通过选择器获取一组元素(querySelectorAll) 

document.querySelector('.animated')

登录后复制登录后复制 返回值是一个类数组

获取节点 

在文档对象模型 (DOM) 中,每个节点都是一个对象。DOM 节点有三个重要的属性 

1. nodeName : 节点的名称

立即学习“Java免费学习笔记(深入)”;

2. nodeValue :节点的值

3. nodeType :节点的类型

一、nodeName 属性: 节点的名称,是只读的。

元素节点的 nodeName 与标签名相同属性节点的 nodeName 是属性的名称文本节点的 nodeName 永远是 #text文档节点的 nodeName 永远是 #document

二、nodeValue 属性:节点的值

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

三、nodeType 属性: 节点的类型,是只读的。以下常用的几种结点类型:

元素类型 节点类型元素 1属性 2文本 3  空格也是返回3注释 8文档 9

   创建节点:

 1.创建节点:createElement(”)

 // 创建元素,只是创建出来并未添加到html中,需要与appendChild 配合使用    var elem = document.createElement('p');    elem.id = 'test';    elem.style = 'color: red';    elem.innerHTML = '我是新创建的节点';    document.body.appendChild(elem);

登录后复制

 2.插入节点:appendChild ()

用法是: parent.appendChild(child)会将child节点添加到parent里的最后面如果子节点原本就存在,会移除原节点,添加新节点 到最后,但是事件会保留

 var oNewp=document.createElement("p");      var oText=document.createTextNode("World Hello");      oNewp.appendChild(oText);

登录后复制

 2-1.插入节点:insertBefore()

用法是 parent.insertBefore(newNode,refNode);

     var oOldp=document.body.getElementsByTagName("p")[0];      document.body.insertBefore(oNewp,oOldp);

登录后复制

  删除节点

1.删除节点:removeChild

用法是:parent.removeChild(child) 如果删除的不是父元素的子节点会报错

   var op=document.body.getElementsByTagName("p")[0];         op.parentNode.removeChild(op);

登录后复制

   克隆节点

1.克隆节点:parent.cloneNode() false 或者true

克隆节点(需要接受一个参数来表示是否复制元素)

  // 克隆节点(需要接受一个参数来表示是否复制元素)    var form =  document.getElementById('test');    var clone = form.cloneNode(true);    clone.id = 'test2';    document.body.appendChild(clone);

登录后复制

   替换节点

1.替换节点 方法node.replace(new,old) 

       var oOldp=document.body.getElementsByTagName("p")[0];       oOldp.parentNode.replaceChild(oNewp,oOldp);

登录后复制

  文档碎片框 

作用:当向document中添加大量的节点时,如果逐个添加将会十分缓慢,这时可以使用文档碎片一次性添加到document中语法:document.createDocumentFragment();承载节点

 (function()    {        var start = Date.now();        var str = '', li;        var ul = document.getElementById('ul');        var fragment = document.createDocumentFragment();        for(var i=0; i<10000; i++)        {            li = document.createElement('li');            li.textContent = '第'+i+'个子节点';            fragment.appendChild(li);        }        ul.appendChild(fragment);        console.log('耗时:'+(Date.now()-start)+'毫秒'); // 63毫秒    })();

登录后复制

【相关推荐:javascript视频教程、web前端】

以上就是JavaScript知识点整理之获取元素和节点的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2701280.html

(0)
上一篇 2025年3月7日 19:13:53
下一篇 2025年3月1日 14:30:36

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JavaScript内置对象Math实例分享

    本篇文章给大家带来了关于javascript内置对象math的相关知识,其中根据示例讲解了math中常用函数的用法,包括了绝对值方法、三个取整方法等等,下面一起来看一下,希望对大家有帮助。 【相关推荐:javascript视频教程、web前…

    2025年3月7日 编程技术
    200
  • 完全掌握JavaScript的Date对象

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于date对象的相关问题,date 对象是一个构造函数,所以我们必须经过对象实例化,即 new 过之后才可以使用,下面一起来看一下,希望对大家有帮助。 【相关推荐:ja…

    2025年3月7日 编程技术
    200
  • JavaScript怎么实现基础类型和对象一样有属性和方法

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于基础类型和对象一样有属性和方法的相关问题,包括了基础类型当做对象使用以及基础类型构造函数等等,下面一起来看一下,希望对大家有帮助。 【相关推荐:javascript视…

    2025年3月7日 编程技术
    200
  • 简单总结JavaScript事件

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于事件的简单总结,事件就是文档或浏览器窗口中发生的一些特定的交互瞬间,下面一起来看一下,希望对大家有帮助。 【相关推荐:javascript视频教程、web前端】 事件…

    2025年3月7日 编程技术
    200
  • JavaScript高级语法学习之严格模式

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于严格模式的相关问题,严格模式很好理解,是一种具有限制性的javascript模式,从而使代码隐式的脱离了“懒散模式”,下面一起来看一下,希望对大家有帮助。 【相关推荐…

    2025年3月7日
    200
  • JavaScript字符串常见基础方法精讲

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于字符串的相关知识,其中主要介绍了常用的基础方法以及特殊字符、emoji内部表示方式等内容,下面一起来看一下,希望对大家有帮助。 【相关推荐:javascript视频教…

    2025年3月7日 编程技术
    200
  • JavaScript面向对象详细解析之属性描述符

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。 【相关推荐:javascript视频教程、web前端】 J…

    2025年3月7日
    200
  • 一文掌握JavaScript数字类型

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于数字类型的相关内容,javascript中存在两种表示数字的类型:number和bigint类型,下面一起来看一下,希望对大家有帮助。 【相关推荐:javascrip…

    2025年3月7日 编程技术
    200
  • 四种方法搞定JavaScript创建多个对象

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于创建多个对象的相关内容,包括了字面量方法、工厂模式方法、构造函数以及原型加构造函数方法的问题,下面一起来看一下,希望对大家有帮助。 【相关推荐:javascript视…

    2025年3月7日
    200
  • 整理总结JavaScript常见的BOM操作

    本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于bom操作的相关问题,包括了window对象的常见事件、javascript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。 【相关推荐:javascrip…

    2025年3月7日 编程技术
    200

发表回复

登录后才能评论