前端开发之JavaScript HTML DOM理论篇二

主要内容:

  1、HTML DOM元素

  2、HTML DOM事件

  3、HTML DOM实例

一、DOM元素

  主要操作有添加、删除和替换HTML元素

  1、创建新的HTML元素

   (1)方法一: appendChild() 追加

  如需向 HTML DOM 添加新元素,您首先必须创建该元素,然后把它追加到已有的元素上。

  实例和解析: 

<div id="box1">
    <p id="p1">This is first paragraph.</p>
    <p id="p1">This is second paragraph.</p>
</div>

<script>
    // 创建一个新的<p>元素
    var para = document.createElement("p");    

    // 如需向<p>元素添加文本,你要首先创建文本节点,以下这句即为创建文本节点
    var node = document.createTextNode("This is new!");

    // 接下来,你要将文本节点追加到<p>元素中
    para.appendChild(node);    

   // 最后,要向已有的元素中追加这个元素,先查找到这个元素
   var element = document.getElementById("box1"); 

   // 将新元素添加到已有的元素中
   element.appendChild(para);

</script>

  (2)方法二:insertBefore(new,old) 插入

  实例:

<div id="box1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para = document.createElement("p");// 创建一个新的<p>元素
var node = document.createTextNode("This is another one!"); // 创建文本节点
para.appendChild(node); // 向<p>中追加文本节点

var element = document.getElementById("box");// 查找<p>节点的父节点
var child = document.getElementById("p1"); // 找到<p>节点的同胞节点
element.insertBefore(para,child);// 将新创建的<p>节点插入到id为p1的同胞节点之前

  2、删除已有的HTML元素

    如需删除HTML元素,你需要知道该元素的父元素。

    实例:  

<div id="box1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
    // 获取父元素
    var parent = document.getElementById("box1");
    // 获取要删除的元素
    var child = document.getElementById("p1");
    // 删除该元素
    parent.removeChild(child);
</script>

    简略方法:找到您需要删除的子元素,然后使用 parentNode 属性来查找其父元素

var child = document.getElementById("p1");
child.parentNode.removeChild(child); // child.parentNode表示child的父元素

  3、替换HTML元素

如需替换 HTML DOM 中的元素,请使用 replaceChild(new,old) 方法: 

<div id="box1">
    <p id="p1">This is a paragraph.</p>
    <p id="p2">This is another paragraph.</p>
</div>

<script>
    var para = document.createElement("p");
    var node = document.createTextNode(" This is new new !");
    para.appendChild(node);

    var parent = document.getElementById("box1");
    var child = document.getElementById("p2");
    parent.replaceChild(para,child);
</script>

未完待续...

  

 

原文地址:https://www.cnblogs.com/schut/p/9503341.html

时间: 2024-10-03 09:38:42

前端开发之JavaScript HTML DOM理论篇二的相关文章

前端开发之BOM和DOM

BOM BOM:是指浏览器对象模型,它使JavaScript可以和浏览器进行交互. 1,navigator对象:浏览器对象,通过这个对象可以判定用户所使用的浏览器,包含了浏览器相关信息. navigator.appName // Web浏览器全称 navigator.appVersion // Web浏览器厂商和版本的详细字符串 navigator.userAgent // 客户端绝大部分信息 navigator.platform // 浏览器运行所在的操作系统 2,screen对象:屏幕对象,

前端开发之JavaScript

JavaScript JS是一种脚本语言,浏览器执行,用于渲染HTML网页,实现网页的动画效果. JavaScript的引用方式: 1,在HTML文件中script标签中写JS代码 <script> // JS代码 </script> 2,引用外部的JS文件 <script src="my-JavaScript.js"></script> JavaScript的注释和语句规范 // 单行注释: // var name = "to

高效Web前端开发之路:YUI 3.15 PDF扫描版

JavaScript是一种最初由Netscape的LiveScript发展而来的面向对象的Web脚本语言,被ECMA国际定义为国际化标准--ECMAScript.JavaScript具有使用局限性.在Web方面,其必须与各种DOM技术结合才能发挥作用.因此,一些具有开拓创新精神的开发者们便开发出了各种丰富的第三方框架,通过第三方的支持代码实现浏览器兼容性的统一.代码的简化以及功能的增强. <高效Web前端开发之路:YUI 3.15>作者便是在此背景下,以国外最优秀的JavaScript框架之一

《高性能javascript》 领悟随笔之-------DOM编程篇(二)

<高性能javascript> 领悟随笔之-------DOM编程篇二 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整个页面文档.DOM编程性能一直以来都是非常受开发者关注的话题,如何编写高性能的DOM是前端开发必不可少的技能. 1.重绘与重排 当浏览器加载完页面所有的元素.js.css.图片之后会自动生成两个数据结构: 1.dom树 (图片为转载) 如图所示,dom树表示了整个页面文档的结构,通过访问dom树我们可以得到某

HTML5开发之旅WebSockets API使用篇(4)

WebSocket API是下一代客户端-服务器的异步通信方法.前面有三篇文章已经对WebSocket有了一些介绍,这里我总结了一下.我在使用WebSockets API过程中遇到的问题. 1.检测浏览器是否支持HTML5 WebSocket 在使用HTML5 WebSocket API之前,首先需要确认浏览器的支持情况.如果浏览器不支持,我们可以提供一些替代信息,提示用户升级浏览器或者更换浏览器.下面的代码是检测浏览器支持情况的一种方法: 1 <!DOCTYPE html> 2 <ht

ArcEngine开发之Command控件使用篇

转自原文 ArcEngine开发之Command控件使用篇 在ArcEngine类库中有大量的Command控件用来与地图控件进行操作和交互.比如有一系列的地图浏览控件.地图查询控件.图斑选取控件.编辑控件来与MapControl和PageLayoutControl进行交互.这些控件被包含在ESRI.ArcGIS.Controls.dll类库中,位于ESRI.ArcGIS.Controls命名空间下. 这些内置的Command控件可以单独实例化来使用,也可以被安置在一个AxToolbarCont

移动平台前端开发之WebApp代码技巧

1.首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" /> <meta content="yes" name="apple-mobile-web

Google glass Mirror app开发之HTML布局之标签篇

$_[.=.]  原谅我不太会写标题.. 谷歌眼镜开发 之 Mirror api开发之 HTML布局之 css样式 之xxx... 好了,进入正题,在https://developers.google.com/glass/tools-downloads/playground中可以实时地预览效果 CSS样式文件:https://mirror-api-playground.appspot.com/assets/css/base_style.css Mirror API - Timeline:http

前端开发之html基础知识02

经典表格:表格没有列的概念,只有行的概念, 一行 tr,行中的单元格 td表头的突出显示:tr>th <table width="400px" align="center" border="1px" cellspacing="0" cellpadding="5px" > <!-- align = "center" 表格整体剧中--> <caption&