`
javawangli
  • 浏览: 224368 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DOM总结(三)及综合案例

阅读更多

DOM总结(三)及综合案例

1DOM属性-----replaceChild()

    replaceChild()---替换节点:

把一个给定父元素里的一个子节点替换为另外一个子节点

var reference = element.replaceChild(newChild,oldChild);

    返回值是一个指向已被替换的那个子节点的引用指针。

    如果被插入的子节点还有子节点,则那些子节点也被插入到目标节点中

  

练习:   

    问题:当单击”北京”这个节点时,北京这个节点被”游泳”替换

Html代码:

 

    

 <body>

 

  个人所在城市:

      <ul id="city">

        <li id="bj">北京</li>

        <li id="sh">上海</li>

        <li id="tj">天津</li>

        <li id="dd">大都</li>

      </ul>      

      个人爱好:

      <ul id="fav">

        <li id="yy">游泳</li>

        <li id="pp">乒乓球</li>

        <li id="ymq">羽毛球</li>

        <li id="lq">篮球</li>

      </ul>

  </body>

 

 

 js解答:

 

     

 window.onload = function(){

       //通过id获得节点

       var bj = document.getElementById("bj");

       //定义隐函数

        bj.onclick = function(){ 

        /

         var yy =  document.getElementById("yy");

         //通过replaceChild()方法来进行替换

         bj.parentNode.replaceChild(yy,bj);

       }    

}

 

 

     2,查找属性节点

getAttribute()

     

    返回一个给定元素的一个给定属性节点的值

var attributeValue = element.getAttribute(attributeName);

    给定属性的名字必须以字符串的形式传递给该方法。

给定属性的值将以字符串的形式返回,如果给定属性不存在,getAttribute() 将返回一个 

空字符串.

通过属性获取属性节点。

getAttributeNode(属性的名称)--Node

如:<li name="beijing" id="bj">北京</li> 获取属性值和文体


    //通过属性名获取属性的值

     var  bjElement=document.getElementById("bj");

     var attributeValue=eduElement.getAttribute("name");

     alert("attributeValue    "+attributeValue);

        

   //通过属性名获取属性的节点

   var  bjNode=eduElement.getAttributeNode("name");

       alert(eduNode.nodeValue);

       alert(eduNode.nodeType);

       alert(eduNode.nodeName);

 

 

 

3,设置属性节点

   SetAttribute()

   将给定元素节点添加一个新的属性值或改变它的现有属性的值。

   element.setAttribute(attributeName,attributeValue);

   属性的名字和值必须以字符串的形式传递给此方法

   如果这个属性已经存在,它的值将被刷新;

   如果不存在,setAttribute()方法将先创建它再为其赋值。

 

  

 如:<li  id="bj" >北京</li> 


   //获取元素的引用

   var bjElement=document.getElementById("bj");

   //设置属性值

   bjElement.setAttribute("name","beijing");

   //获取设置的属性值

   var nameValue=bjElement.getAttribute("name");

   alert("nameValue "+nameValue);

 

   4,创建新文本节点 

       createTextNode()

       创建一个包含着给定文本的新文本节点。这个方法的返回值是一个指向新建文本节   

      点引用指针。

      var textNode = document.createTextNode(text);

      方法只有一个参数:新建文本节点所包含的文本字符串

      方法的返回值:是一个指向新建节点的引用指针。它是一个文本节点,所以它的     

      nodeType 属性等于 3.

      新元素节点不会自动添加到文档里,新节点没有 nodeParent 属性

   如:

       var pElementText=document.createElement("li");

       var textElement=document.createTextNode("南京");

       pElementText.appendChild(textElement);

 

5,插入节点

5.1   

     appendChild()

     为给定元素增加一个子节点:                                   

     var newreference = element.appendChild(newChild).              

     给定子节点 newChild 将成为给定元素节点 element 的最后一个子节点。

方法的返回值是一个指向新增子节点的引用指针。

该方法通常与 createElement() createTextNode() 配合使用

新节点可以被追加给文档中的任何一个元素

5.2   

      insertBefore()

      把一个给定节点插入到一个给定元素节点的给定子节点的前面

      var reference =  element.insertBefore(newNode,targetNode);

节点 newNode 将被插入到元素节点 element 中并出现在节点 targetNode 的前面.

节点 targetNode 必须是 element 元素的一个子节点。

该方法通常与 createElement() 和 createTextNode() 配合使用

 5.3    

       insertAfter() 方法(但是DOM没提供方此方法)*

   可以通过DOM的属性方法来写一个:  

   function insertAfter(newElement,targetElement){

   //获取目标元素的父节点

 var parentElement=targetElement.parentNode;

   //如果目标元素是最后一个元素,则新元素插入到目标元素的后面

if(parentElement.lastChild==targetElement){

    parentElement.appendChild(newElement);

}else{//如果目标元素不是最后一个元素,则新元素插入到目标元素的的

   //下一个兄弟节点的前面,即目标元素的后面

   parentElement.insertBefore(newElement,targetElement.nextSibling);

}

}

6,删除节点

    removeChild()

    从一个给定元素里删除一个子节点

    var reference = element.removeChild(node);

返回值是一个指向已被删除的子节点的引用指针。

7,获取最后一个子节点

    lastChild:对应 firstChild 的一个属性。

    nextSibling: 返回一个给定节点的下一个兄弟节点。

    parentNode:返回一个给定节点的父节点。

    parentNode 属性返回的节点永远是一个元素节点,因为只有元素节点才有可能包含子节点。

    Document 节点的没有父节点。

previousSibling:返回一个给定节点的上一个兄弟节点  

 8innerHTML属性  

    浏览器几乎都支持该属性,但不是 DOM 标准的组成部分。

     innerHTML 属性可以用来读,写某给定元素里的 HTML 内容。

  综合案例

   实现如图js的增删该

    

  结束语:如何实现 ,请继续关注我的博客》

 

<!--EndFragment-->
  • 大小: 62.7 KB
1
5
分享到:
评论

相关推荐

    JavaScript语言教学中DOM综合性应用案例的教学设计.pdf

    【JavaScript语言教学中DOM综合性应用案例的教学设计】 在JavaScript教学中,DOM(Document Object Model)是不可或缺的一部分,它为Web开发提供了对HTML或XML文档结构的动态访问和操作能力。DOM是一个标准,允许...

    Ajax应用开发综合案例

    本综合案例将深入探讨如何运用Ajax技术来提升用户体验和网页性能。 一、Ajax的基本原理 Ajax的核心组件包括:XMLHttpRequest对象、JavaScript脚本、DOM操作以及数据格式(如XML或JSON)。当用户触发一个Ajax请求时...

    最新版锋利的jquery综合案例

    《最新版锋利的jQuery综合案例》是一份涵盖了jQuery库广泛应用的实践教程,旨在帮助开发者深入理解和掌握jQuery的各种功能和技巧。这份资源包含了《锋利的jQuery》一书中的所有实例,不仅重现了书中的经典效果,还...

    Web前端开发技术-综合案例(函数的定义).pptx

    总结起来,这个综合案例不仅涵盖了JavaScript函数的定义,还演示了如何将这些函数应用于实际的网页交互效果。学习BOM(浏览器对象模型)的构成,理解`window`对象的属性和方法,如`scrollY`,对于前端开发者来说至关...

    综合案例--记录_jQuery记事本_

    总结来说,"综合案例--记录_jQuery记事本_"是一个利用jQuery强大功能的前端应用实例,它展示了如何利用jQuery实现用户交互、数据管理、状态跟踪以及UI更新等多个关键功能。通过学习和分析这个案例,开发者可以加深对...

    JQuery基础案例大全

    JQuery是现在最流行的Ajax框架;本案例是本人亲手总结的教学案例。基本包括的Jquery的各个方面的基础应用。包括:选择器;Dom操作;事件;动画;Ajax操作;是一个非常容易上手的代码案例。送给初学者。--邵老师

    Javascript综合应用小案例.doc

    Javascript 综合应用小案例知识点总结 本文档主要讲述了一个基于 JavaScript 的小应用示例,实现了取词和标红的功能。下面是对该示例中的关键知识点的总结: 一、获取文本 selections 在 JavaScript 中,获取用户...

    node.js时钟案例

    总结来说,"node.js时钟案例"是一个综合性的项目,涉及到Node.js服务器端编程、HTML和CSS的处理、JavaScript的执行以及前端交互设计。通过学习和实践这个案例,开发者可以加深对Node.js、前端技术和动态Web页面构建...

    vue2xvuexvuerouter综合实践项目总结

    在这个项目总结中,我们将深入探讨 Vue 2.x 的核心特性,以及与Vuex状态管理库和vue-router路由管理的集成应用。 Vue 2.x 知识点: 1. **组件化**:Vue的核心在于组件化开发,允许开发者将UI拆分成独立可复用的...

    vue中实现先请求数据再渲染dom分享

    通过这个案例,我们可以总结出在Vue项目中实现先请求数据再渲染DOM的最佳实践:首先,在`created`钩子函数中发起数据请求。然后,利用`this.$nextTick`确保在数据加载完成后执行DOM操作,无论是直接在数据请求的回调...

    Ajax案例集下载:新增分页查询案例(包括《Ajax开发精要》中的两个综合案例) 下载

    本文将详细介绍《Ajax开发精要》一书中新增的分页查询案例,并结合书中的两个综合案例进行分析,旨在帮助读者更好地理解Ajax技术的应用场景和技术细节。 #### 二、案例背景 在《Ajax开发精要》这本书中,作者构建...

    javascript性能优化之DOM交互操作实例分析

    总结来说,为了提高JavaScript中DOM操作的性能,需要关注减少DOM更新次数、合理使用`innerHTML`、利用事件委托以及最小化对NodeList的访问。这些方法能够显著降低页面的重绘和回流次数,从而提升整体性能。在实际...

    jQuery学习案例-购物车

    总结来说,"jQuery学习案例-购物车"是一个综合性的练习,涵盖了jQuery的DOM操作、事件处理,以及localStorage在前端数据持久化中的应用。通过实践这个案例,开发者不仅可以提升jQuery的运用技巧,还能加深对HTML5新...

    21秋《Web前端综合案例开发》离线作业1

    3. JavaScript的基本操作,如DOM选择、类操作和定时器。 4. 图片优化和网页性能的考虑。 5. 文件组织和作业提交格式。 通过这个项目,你不仅能够提升前端技能,还能创造出一份充满心意的礼物,希望能让你的女神感到...

    XML编程入门经典

    - **实际项目应用**:书中通过一系列综合案例展示了XML在实际项目开发中的应用,涵盖了从数据的提取、转换到加载的全过程。 - **案例分析**:每个案例都详细介绍了使用的技术、步骤以及可能遇到的问题和解决方案。 ...

    微信公众平台应用开发:方法、技巧与案例.(机械工业.柳峰)

    第四部分(第7~11章)首先总结了一些实用的公众平台开发技巧,如使用表情、识别微信浏览器、图文消息使用、公众账号无响应处理、服务多个账号等,然后逐步详细地讲解了“周边搜索”、“猜数字”(游戏)和“聊天...

    GOOGLE+百度地图JQUERY,php包文件和测试案例

    在这个“GOOGLE+百度地图JQUERY,php包文件和测试案例”的资源中,我们看到了一个综合性的项目,它将Google Maps、百度地图、jQuery和PHP这四个关键元素结合在一起。下面,我们将详细探讨这些技术以及它们在实际应用...

    基于Springboot+Vue精品在线试题库系统源码案例设计带文档说明.zip

    总结来说,这个基于Springboot+Vue的在线试题库系统是一个综合性的案例,涵盖了现代Web开发的多个重要技术点。它不仅适合于毕业设计、期末大作业等教学场景,也是开发者提升技能、理解前后端协作的好材料。通过深入...

    js地区三级联动ajax完整版

    在JavaScript编程中,"地区三级联动...总结来说,"js地区三级联动ajax完整版"是一个涉及JavaScript事件处理、AJAX异步通信和DOM操作的综合示例。通过理解这些核心技术,开发者可以创建出更加动态、交互性强的Web应用。

    超强的三级菜单制作法

    总结,制作超强的三级菜单需要综合运用HTML、CSS和JavaScript等技术,并注重用户体验和可访问性。通过不断实践和优化,我们可以创建出既美观又实用的菜单系统,提升用户的使用体验。而“超强的三级菜单制作法.xls”...

Global site tag (gtag.js) - Google Analytics