javascript DOM基本操作

1.DOM(Document Object Model 文档对象模型)

2.节点:

  • 文档节点:document
  • 元素节点:html、head、body、title、meta、h1、p等
  • 属性节点:attr
  • 文本节点:text

2.1节点获取

  • documen.getElementById("元素ID")                       //返回含有该ID的元素
  • document.getElementsByName("元素name属性")     //返回带有指定名称元素的集合
  • document.getElementsByTagName("元素标签")       //返回指定元素的集合

2.2属性节点处理

  • elementNode.hasAttribute("attrName")                 // 检测所选元素是否有attrName属性  eg:documen.getElementById("nav").hasAttribute("class")
  • elementNode.getAttribute("attrName")                 //获取元素attrName属性的值
  • elementNode.setAttribute("attrName","attrValue") //设置属性,创建或改变元素属性值
  • elementNode.removeAttribute("attrName")           //移除属性
  • 注意:在获取属性和移除属性时,用hasAttribute()方法判断此属性是否存在

2.3文本节点处理

  • 通过innerHTML属性获取和设置文本节点属性
  • documen.getElementById("content").innerHTML="<p>hello!</p>"

3遍历DOM

  • 父节点.firstChild       //获取元素的首个子节点
  • 父节点.lastChild       //获取元素最后一个子节点
  • 父节点.childNode     //获取元素子节点列表
  • 子节点.parentNode  // 获取已知节点父节点
  • 兄弟节点.previousSibling    //获取已知节点前一个节点
  • 兄弟节点.nextSibling          //获取已知节点后一个节点
  • 注意:使用以上属性(除parentNode),有些浏览器将空格作为文本节点,因此浏览器就会将文本节点当做元素的兄弟节点来处理。
  • 通过添加nodeType判断,若下一个或上一个是文本节点则继续寻找,直到找到元素节点
  • nodeType 获得标签类型,nodeName 获得标签名称
  • 元素节点的nodeType属性值是1,属性节点的nodeType属性值为2,文本节点的nodeType属性值3
  • 如果该nextSibling.nodeName = #text,则通过nextSibling.nodeValue来获知其文本值;
  • 否则,可以通过nextSibling.innerHTML等其他常用标签元素属性来获取其属性

4.节点操作

4.1创建节点

  • document.createElement(元素标签)      // 创建元素节点
  • document.createAttribute(元素属性)    // 创建属性节点
  • document.createTextNode(文本内容)   // 创建文本节点

4.2插入节点

  • appendChild(所添加的新节点)                    //向节点的子节点末尾添加子节点
  • insertBefore(所要添加的新节点,已知节点)   //在已知子节点前面插入子节点

4.3替换节点

  • replaceChild(要插入新元素,将要替换元素)

4.4复制节点

  • 需要被复制节点.cloneNode(true/false)    //创建指定节点副本,true复制当前节点及其子节点;false仅复制当前节点不包括文本

4.5删除节点

  • removeChild(要删除节点)                     // 删除指定节点
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head> <body>
<ul id="tar_area"><li id="p1">1</li><li id="p2">2</li><li id="p3">3</li><li id="p4">4</li><li id="p5"></li>5</ul>
<input type="button" value="点我有惊喜!" onclick="test()" />
<script>
//向DOM中添加新元素
var targetArea=document.getElementById("tar_area");
var p1=document.getElementById("p1");
var p2=document.getElementById("p2");
var p3=document.getElementById("p3");
var p4=document.getElementById("p4");
var p5=document.getElementById("p5");
//添加节点
var p=document.createElement("p"); //创建元素
var text=document.createTextNode("这是js动态创建的元素"); //创建文本节点
p.appendChild(text); //向节点的子节点末尾添加子节点
targetArea.appendChild(p); //替换节点
targetArea.replaceChild(p,p2); //复制节点
var newNode=p3.cloneNode(true); //默认为true
targetArea.replaceChild(newNode,p1); //动态删除元素
targetArea.removeChild(p4); function test(){
var tar=document.getElementById("tar_area");
var p5=document.getElementById("p5");
var px=document.createElement("p");
var txt=document.createTextNode("hello!");
px.appendChild(txt);
tar.insertBefore(px,p5); //在已知节点前面插入子节点
}
</script>
</body>
</html>

javascript DOM基本操作的更多相关文章

  1. JavaScript思维导图—DOM基本操作

    JavaScript思维导图-来自@王子墨http://julying.com/blog/the-features-of-javascript-language-summary-maps/ DOM基本 ...

  2. javascript DOM操作HTML文档

    文档对象模型(DOM)是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准.W3C将文档对象模型定义为:是一个能让程序和脚本动态 访问和更新文档内容.结构和样式的语言平台.提供了标准的 ...

  3. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  4. javascript DOM 操作 attribute 和 property 的区别

    javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...

  5. JavaScript DOM 编程艺术·setInterval与setTimeout的动画实现解析

    先贴上moveElement()函数的大纲,为了方便观看,删了部分代码,完整版粘到文章后面. function moveElement(elementID,final_x,final_y,interv ...

  6. javascript DOM 操作

    在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...

  7. javascript DOM操作之 querySelector,querySelectorAll

    javascript DOM操作之 querySelector,querySelectorAll

  8. javaScript DOM JQuery AJAX

    http://www.cnblogs.com/wupeiqi/articles/5369773.html 一 JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript ...

  9. JavaScript : DOM文档解析详解

    JavaScript DOM  文档解析 1.节点(node):来源于网络理论,代表网络中的一个连接点.网络是由节点构成的集合 <p title=“a gentle reminder”> ...

随机推荐

  1. Springboot开启事务

    参考资料: https://blog.csdn.net/message_lx/article/details/77584847

  2. 关于Django中,实现序列化的几种不同方法

    前言 关于序列化操作,就是将一个可迭代的数据结构,通过便利的方式进行我们所需要的操作. 今天历来归纳一下,Django中的几种不同得分方法,已经Django-restframework提供的方法 创建 ...

  3. 用C# ASP.net将数据库中的数据表导出到Excel中

    需要用到组件GridView和一个button即可. 给GridView添加一个数据源, 选择你想要的数据库中的表的字段,添加成功后GridView中就显示数据. 再添加一个button,双击控件添加 ...

  4. 2015 湘潭大学程序设计比赛(Internet)部分题解,其中有一个题与NYOJ1057很像,贪心过~~

    仙剑奇侠传                 祝玩的开心                                                                          ...

  5. hihoCoder#1042 跑马圈地

    原题地址 经网友jokeren提醒,后面给出的代码虽然可以AC原题,但存在bug,主要是在矩形覆盖情况的判断上处理的不够完全. 看似挺复杂的,但是仔细分析一下可以化简: 首先,不用枚举周长,因为更长的 ...

  6. POJ 1127_Jack Straws

    %: 对于二维向量p1=(x1,y1),p2=(x2,y2),定义内积p1⋅p2=x1x2+y1y2,外积p1×p2=x1y2−y1x2,则判断点q是否在线段p1−p2上: 先利用外积判断q是否在直线 ...

  7. AtCoder Grand Contest 012 B Splatter Painting(记忆化搜索)

    题意: 给一个包含N个顶点,M条边,无自环和重边的简单无向图,初始每个点颜色都为0,每条边的长度为1,连接着ai,bi两个节点.经过若干个操作, 每次将与某个点vi距离不超过di的所有点染成某种颜色c ...

  8. 【转载】Spring Boot【快速入门】2019.05.19

    原文出处:https://www.cnblogs.com/wmyskxz/p/9010832.html   Spring Boot 概述 Build Anything with Spring Boot ...

  9. 条款八: 写operator new和operator delete时要遵循常规

    自己重写operator new时(条款10解释了为什么有时要重写它),很重要的一点是函数提供的行为要和系统缺省的operator new一致.实际做起来也就是:要有正确的返回值:可用内存不够时要调用 ...

  10. POJ 1384 POJ 1384 Piggy-Bank(全然背包)

    链接:http://poj.org/problem?id=1384 Piggy-Bank Time Limit: 1000MS Memory Limit: 10000K Total Submissio ...