目前最受欢迎的 JavaScript 框架。
DOM (Document Object Model) 译为文档对象模型,是 HTML 和 XML 文档的编程接口。中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式 HTML DOM HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。DOM 以树结构表达 HTML 文档。
节点: 整个文档是一个文档节点。 每个 HTML 元素是元素节点,如<p>、<h1>、<body>、<html>、<head>、<title> HTML 元素内的文本是文本节点,即由标签包围的文本。 每个 HTML 属性是属性节点,标签内的属性 注释是注释节点节点间关系由,父节点、子节点、同胞方法:可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。方法要使用 <script>与 </script> 包围。 方法描述getElementById()返回带有指定 ID 的元素。getElementsByTagName()返回包含带有指定标签名称(如p)的所有元素的节点列表(集合/节点数组)。getElementsByClassName()返回包含带有指定类名的所有元素的节点列表。appendChild()把新的子节点添加到指定节点。removeChild()删除子节点,两种方法,1、通过getelementbyId先找到父节点,在使用父节点删除子节点。2、找到该节点使用.parentNode.删除子节点replaceChild()替换子节点。**insertBefore()在指定的子节点前面插入新的子节点。createAttribute()创建属性节点。createElement()创建元素节点。createTextNode()创建文本节点。getAttribute()返回指定的属性值。setAttribute()把指定属性设置或修改为指定的值。click()模拟鼠标进行一次click事件示例:
//第一组 <script> var para=document.createElement("p"); var node=document.createTextNode("这是一个新段落。"); para.appendChild(node); var element=document.getElementById("div1"); element.appendChild(para); </script> //第二组 <script> var para=document.createElement("p"); var node=document.createTextNode("这是一个新段落。"); para.appendChild(node); var element=document.getElementById("div1"); var child=document.getElementById("p1"); element.insertBefore(para,child); </script> 属性:可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。 属性描述innerHTML节点(元素)的文本值parentNode节点(元素)的父节点childNodes节点(元素)的子节点attributes节点(元素)的属性节点firstChild第一个子节点childNodes孩子们style访问fontSize、fontFamily、color…nodeName属性规定节点的名称。nodeName1、元素节点的 nodeName 与标签名相同。2、属性节点的 nodeName 与属性名相同。3、文本节点的 nodeName 始终是 #text。4、文档节点的 nodeName 始终是 #documentnodeValue 属性1、元素节点的 nodeValue 是 undefined 或 null。2、文本节点的 nodeValue 是文本本身。3、属性节点的 nodeValue 是属性值。、、、、、、、、、、、、 事件:当 HTML 元素"有事情发生"时(当网页已加载时、当图片已加载时、当鼠标移动到元素上时、当输入字段被改变时、当 HTML 表单被提交时、当用户触发按键时),浏览器就会生成事件。事件由onclick、onmousedown(双击摁住)、onmouseup(鼠标拿开)、onload、onunload、onchange、onmouseover(鼠标移上)、onmouseout(鼠标移开)以下命令的onclick可以修改为上方其他事件 //第一种,改变CSS样式 <input type="button" onclick="document.body.style.backgroundColor='lavender';"value="修改背景颜色"> //第二种,改变CSS样式 <script> function ChangeBackground() { document.body.style.backgroundColor="lavender"; } </script> //调用上方方法 <input type="button" onclick="ChangeBackground()" value="修改背景颜色" /> //第三种 <script> function ChangeText() { document.getElementById("p1").innerHTML="Hello Runoob!"; } </script> //调用 <input type="button" onclick="ChangeText()" value="修改文本" /> //第四种 <h1 onclick="this.innerHTML='Ooops!'">点击文本!</h1> 导航getElementsByTagName() 方法返回节点列表。节点列表是一个节点集合,不是数组,不能使用数组的属性和方法。返回为HTMLCollection 对象,不是 NodeList 对象 eg: var x=document.getElementsByTagName("p")访问下一个该类型节点的方式:y=x[1];下标从零开始。获得列表长度,即有多少同类型节点:x.length;length为属性,不是函数
节点列表: NodeList 。 childNodes属性和querySelectorAll()方法返回的是 NodeList 对象。 只能使用数字索引进行访问,不能使用name、id进行访问;有length属性;不是数组;含有属性节点和文本节点addEventListener(事件,句柄,冒泡or捕获) 方法, JavaScript 从 HTML 标记中分离开来,可读性更强, 在没有控制HTML标记时也可以添加事件监听。它为元素添加事件句柄,可以为一个元素添加多个同样句柄,所要执行的句柄会依次执行,可以为一个元素添加不同类型的句柄,句柄会依次执行,可以使用 removeEventListener() 方法来移除事件的监听。 element.addEventListener("mouseover", myFunction); element.addEventListener("click", mySecondFunction); element.addEventListener("mouseout", myThirdFunction);//element为元素 //删除句柄 element.removeEventListener("mousemove", myFunction);可以给windows对象添加句柄
//用户重置窗口时调用句柄 window.addEventListener("resize", function(){document.getElementById("demo").innerHTML = sometext;});能更简单的控制事件(事件传递方式冒泡与捕获,事件传递定义了元素事件触发的顺序)。如p标签嵌套在div标签中,当点击p标签时,会有先出发p的事件还是div的事件。在 冒泡 中,内部元素(p)的事件会先被触发(第三个参数为false),在 捕获 中,外部元素(div)的事件会先被触发(第三个参数为true), XML DOM XML DOM 定义了所有 XML 元素的对象和属性,以及访问它们的方法。
业余选手在线指路: runoob XML教程 下面记述我的学习历程 XML 1.1 由W3C发布于2001 年 12 月 13 日,XML Schema 的数据类型为 XML 规定了可扩展的数据类型。XML 被设计用来传输和存储数据,焦点是数据的内容,没有预定义的标签,允许创作者定义自己的标签和自己的文档结构。
XML 指可扩展标记语言(eXtensible Markup Language)。至于什么可扩展嘞?问得好。