广告
返回顶部
首页 > 资讯 > 前端开发 > html >JavaScript 中怎么利用DOM创建和克隆元素
  • 751
分享到

JavaScript 中怎么利用DOM创建和克隆元素

2024-04-02 19:04:59 751人浏览 八月长安
摘要

这期内容当中小编将会给大家带来有关javascript 中怎么利用DOM创建和克隆元素,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。createElement()和cre

这期内容当中小编将会给大家带来有关javascript 中怎么利用DOM创建和克隆元素,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

createElement()和createTextNode()

createElement()和createTextnode()做的事情正如它们的名字所说的那样。最常见的JavaScript DOM方法实战-修改文档树中已经用过它们。当时的目的是把新创建的元素添加到文档树里,使它成为某个元素的***一个子节点。

//创建一个li新元素  var newChild=document.createElement('li');  //创建一个a 新元素  var newLink=document.createElement('a')  //创建一个 Text 节点  var newText=document.createTextNode('My Wiki');

newChild指向新创建的<li>元素对象,newLink指向新创建的<a>元素对象,而newText指向新创建的文本节点对象。这些节点都还没有被插入文档中。最常见的JavaScript DOM方法实战-修改文档树中,用到的appendChild()或insertBefore()将它们附加到文档树中。例如:

var nav=document.getElementById("nav");  //创建一个li新元素  var newChild=document.createElement('li');  //创建一个a 新元素  var newLink=document.createElement('a')  //创建一个 Text 节点  var newText=document.createTextNode('My Wiki');  //把Text添加到a元素节点中  newLink.appendChild(newText);  //给a元素节点设置属性href和内容  newLink.setAttribute('href',"#");  //把a元素节点添加到新的li元素节点中  newChild.appendChild(newLink);  //把新的li元素节点添加到 ul 元素节点里  nav.appendChild(newChild);

这先将文本节点附加到<a>中,然后再将包含文本节点的<a>附加到<li>中,***把包含<a>和文本的<li>附加到<ul>中。此时我的导航条ul中多了一个li子节点。

createTextNode()和HTML实体

createTextNode()有一个问题:它不能创建类似于&euro;(&euro; 欧元符号)&yen;(&yen; 人民币符号) &copy; (&copy; 版权符号)&#8220;(“左双引号)&#8221;(” 右双引号)等,这样的html实体元素。它会按字面创建文本,而不是创建你所需要的符号 。

<script  type="text/javascript"> window.onload=function(){   var x=document.createTextNode("&copy; Copyrights reserved");   document.getElementById("test").appendChild(x);  }  </script>

不过,我们可以使用innerHTML来代替:

<script  type="text/javascript"> window.onload=function(){   document.getElementById("test").innerHTML="&copy; Copyrights reserved";  }  </script>

关于innerHTML属性的用法,我们会在下一节中作为专题来具体的讨论。

cloneNode()

cloneNode()方法克隆一个节点,即它能对节点做一个***的复制,使你可以在随后将其插入到文档树中。导航条HTML代码:

<div id="menu">     <h2>我的导航条</h2>                <ul id="nav">        <li><a href="#">HOME</a></li>        <li><a href="#">(X)Html / CSS</a></li>        <li><a href="#">ajax / RIA</a></li>        <li><a href="#">GoF</a></li>        <li><a href="#">JavaScript</a></li>        <li><a href="#">javaweb</a></li>        <li><a href="#">Jquery</a></li>        <li><a href="#">MooTools</a></li>        <li><a href="#">python</a></li>        <li><a href="#">Resources</a></li>     </ul> </div>

测试cloneNode()

<script  type="text/javascript"> window.onload=function(){       var nav_list=[];    var nav=document.getElementById("nav");       navnav_list=nav.getElementsByTagName("li");    var x=nav_list[0];    var y=x.cloneNode(true);    nav.appendChild(y);  }  </script>

要想正确的使用cloneNode(),你必须了解它的一下二个特征:

1. cloneNode()接受一个可选值为true或false的参数。True 表示克隆元素和它的所有子节点。False表示克隆元素但不包含它的子节点。通常,我们在实践中用true,我从来没有遇到过想要克隆一个节点但不包含它的子节点的情形。

2. cloneNode()不会克隆事件处理程序。这相当的让人恼火,不知道这个方法是怎么定义的(原因我也不知道)所以每次你克隆一个节点,你不得不在克隆上重新定义事件处理程序。

上述就是小编为大家分享的JavaScript 中怎么利用DOM创建和克隆元素了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网html频道。

--结束END--

本文标题: JavaScript 中怎么利用DOM创建和克隆元素

本文链接: https://www.lsjlt.com/news/69774.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript 中怎么利用DOM创建和克隆元素
    这期内容当中小编将会给大家带来有关JavaScript 中怎么利用DOM创建和克隆元素,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。createElement()和cre...
    99+
    2022-10-19
  • JQuery中怎么创建一个DOM元素
    本篇文章为大家展示了JQuery中怎么创建一个DOM元素,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。创建DOM元素到目前为止可以看出,jQuery的作者使得$()...
    99+
    2022-10-19
  • html5中怎么利用canvas元素创建画布
    html5中怎么利用canvas元素创建画布,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.创建一个canvas画布首先需要创建一个画布,那么创建画布的方法呢? 画...
    99+
    2023-06-05
  • 怎么在JavaScript中使用dom获取页面元素
    怎么在JavaScript中使用dom获取页面元素?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应...
    99+
    2023-06-14
  • CSS中怎么利用伪元素创建三角形提示框
    这篇文章将为大家详细讲解有关CSS中怎么利用伪元素创建三角形提示框,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CSS伪元素非常有用,它提供了一种无需多余的...
    99+
    2022-10-19
  • 怎么在JavaScript中利用map创建数组
    这篇文章将为大家详细讲解有关怎么在JavaScript中利用map创建数组,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JavaScript是什么JavaScript是一种直译式的脚本语言,...
    99+
    2023-06-14
  • HTML中怎么使用div元素创建多列布局
    这篇文章主要介绍“HTML中怎么使用div元素创建多列布局”,在日常操作中,相信很多人在HTML中怎么使用div元素创建多列布局问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-19
  • JavaScript中怎么利用join方法将数组中的元素转成字符串
    JavaScript中怎么利用join方法将数组中的元素转成字符串,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。首先我们来看一个小例子。&...
    99+
    2022-10-19
  • python中怎么利用plotly创建滑块和选择器
    这篇文章给大家介绍python中怎么利用plotly创建滑块和选择器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。说明范围滑块是plotly中自定义范围类型的输入控制器。它允许在指定的最小和最大范围之间选择一个值或一个...
    99+
    2023-06-20
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作