当前位置: 首页 > news >正文

AJAX入门---AJAX操作HTML

AJAX入门---DOM操作HTML

         一边学习AJAX一边坐着总结加深印象,上次写的是如何简单的使用XMLHttpRequest对象,今天写的是DOM(文档对象模型(Document Object Model))操作HTML,希望我的博客对大家的学习能够起到帮助作用。

         一.什么是DOM

         文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。

         二.简单的操作HTML

         今天的例子实现前我们先需要了解DOM的常用节点和常用API,例子中通过动态的向HTML中添加元素节点达到学习的目的。

         最终效果

         添加节点实现

[plain] view plain copy print ?
  1. //添加节点  
  2. var index = 0;  
  3. function appendnode() {  
  4.     //找到body对应节点  
  5.     var htmlNode = document.documentElement;  
  6.     var bodyNode = htmlNode.lastChild;  
  7.     //新建节点  
  8.     var divNode = document.createElement("div");  
  9.     var textNode = document.createTextNode("我是一个新加入的节点" +index++);  
  10.     //建立节点之间的关系  
  11.     divNode.appendChild(textNode);  
  12.     bodyNode.appendChild(divNode);  
  13. }  

         插入节点实现

[plain] view plain copy print ?
  1. //插入节点  
  2. function insertnode() {  
  3.     var removenode = document.getElementById("remove");  
  4.     var firstdivnode = removenode.nextSibling;  
  5.     while (firstdivnode) {  
  6.         if (firstdivnode&& firstdivnode.nodeName == "DIV") {  
  7.             var newnode =document.createElement("div");  
  8.             var textnode =document.createTextNode("我是一个新加入的节点" + index++);  
  9.             newnode.appendChild(textnode);  
  10.            document.documentElement.childNodes[2].insertBefore(newnode,firstdivnode);  
  11.             break;  
  12.         }  
  13.         firstdivnode =firstdivnode.nextSibling;  
  14.     }  
  15. }  

         移除节点实现

[plain] view plain copy print ?
  1. function removenode() {  
  2.     //1.找到body  
  3.     //2.找到需要被移除的那个div  
  4.     //3.调用remove方法移除节点  
  5.    
  6.     var bodynode = document.getElementById("remove").parentNode;  
  7.     var removenode = document.getElementById("remove");  
  8.     var firstdivnode = removenode.nextSibling;  
  9.     while (firstdivnode) {  
  10.         if (firstdivnode&& firstdivnode.nodeName == "DIV") {  
  11.             bodynode.removeChild(firstdivnode);  
  12.             break;  
  13.         }  
  14.         firstdivnode = firstdivnode.nextSibling;  
  15.     }  
  16. }     

         总结

         总记得以前有位老师总是在班里提醒“好记性不如烂笔头”,诚然编程有何尝不是这样,自己实现一遍抵得上自己看千万遍源码。需要完整的demo您可以通过下载免费源码获取(http://download.csdn.net/detail/senior_lee/7714311)

相关文章:

  • AJAX入门--- XMLHttpRequest对象的属性和方法
  • mysql查询今天,昨天,近7天,近30天,本月,上一月数据
  • html中使用map标签,coords值怎么精确定位gif上的链接
  • host 配置不生效的解决办法
  • 淘宝rubygem镜像
  • Struts2 S2-020补丁绕过漏洞
  • Discuz爆破无视验证码
  • Codeigniter 利用加密Key(密钥)的对象注入漏洞
  • 内网渗透案例
  • Fckeditor漏洞利用总结
  • 彻底删除Web路径下所有”.svn”遗留文件
  • office 2013 word 打开就停止响应解决办法
  • 常用汉字的UTF-8编码及编码范围
  • 阿里公共DNS
  • MySQL低权限账号读取文件
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Angular 4.x 动态创建组件
  • avalon2.2的VM生成过程
  • java中具有继承关系的类及其对象初始化顺序
  • Next.js之基础概念(二)
  • VUE es6技巧写法(持续更新中~~~)
  • 从PHP迁移至Golang - 基础篇
  • 开源SQL-on-Hadoop系统一览
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 区块链技术特点之去中心化特性
  • 山寨一个 Promise
  • 通过git安装npm私有模块
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 用element的upload组件实现多图片上传和压缩
  • #WEB前端(HTML属性)
  • (js)循环条件满足时终止循环
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (转载)hibernate缓存
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • .apk 成为历史!
  • .gitattributes 文件
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET 依赖注入和配置系统
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net6Api后台+uniapp导出Excel
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • /var/spool/postfix/maildrop 下有大量文件
  • [ JavaScript ] JSON方法
  • [<MySQL优化总结>]
  • [1127]图形打印 sdutOJ
  • [20190416]完善shared latch测试脚本2.txt
  • [2544]最短路 (两种算法)(HDU)
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [APUE]进程关系(下)
  • [AX]AX2012 R2 出差申请和支出报告
  • [C++]类和对象【下】
  • [C++提高编程](三):STL初识