玖叶教程网

前端编程开发入门

DOM核心内容(dom的核心部分包括)

HTML DOM(文档对象模型)

当网页被浏览器加载时,浏览器会创建文档对象模型(Document Object Model)。

HTML DOM 会被结构化成为一个对象树:

通过这个对象模型,javaScript 可以获取到页面中的所有元素并对元素对象进行操作:

JavaScript 能改变页面中的所有 HTML 元素

JavaScript 能改变页面中的所有 HTML 属性

JavaScript 能改变页面中的所有 CSS 样式

JavaScript 能删除已有的 HTML 元素和属性

JavaScript 能添加新的 HTML 元素和属性

JavaScript 能对页面中所有已有的 HTML 事件作出反应

JavaScript 能在页面中创建新的 HTML 事件

HTML DOM 能够通过 JavaScript 进行访问。

在 DOM 中,所有 HTML 元素都被定义为对象。

可以通过改变对象的属性来改变元素状态

也可以使用DOM方法来添加删除元素

DOM元素

查找 HTML 元素

document.getElementById(id) 通过元素 id 来查找元素

document.getElementsByTagName(name) 通过标签名来查找元素

document.getElementsByClassName(name) 通过类名来查找元素

如果您需要查找匹配指定 CSS 选择器(id、类名、类型、属性、属性值等等)的所有 HTML 元素,请使用 querySelectorAll() 方法。(querySelectorAll() 不适用于 Internet Explorer 8 及其更早版本。)

改变 HTML 元素

element.innerHTML = new html content 改变元素的 inner HTML

element.attribute = new value 改变 HTML 元素的属性值

element.setAttribute(attribute, value) 改变 HTML 元素的属性值

element.style.property = new style 改变 HTML 元素的样式

表单验证

HTML 表单验证可以通过 JavaScript 完成。

如果表单域 (fname) 为空,该函数会提示一条消息,并返回 false,以防止表单被提交:

JavaScript 实例

function validate() {

let value = document.forms["firstForm"]["txtname"].value;

if (value == "") {

Console.log("Name cannot be null");

return false;

}

}

提交表单时可以调用该函数:

HTML 表单实例

<form name="firstForm" action="/action_page.php" onsubmit="return validate()" method="post">

Name: <input type="text" name="txtname">

<input type="submit" value="Submit">

</form>

HTML 约束验证

HTML5 引入了一种新的 HTML 验证概念,称为约束验证。

HTML 约束验证基于:

约束验证 HTML input 属性

约束验证 CSS 伪选择器

约束验证 DOM 属性和方法

事件

比较常用的事件类型有:

Onclick 点击事件

onload 页面加载事件

onunload 页面离开事件

onchange 内容改变事件

onmousedown 按钮点击事件

onmouseup 按钮释放事件

onfocus 元素获得的焦点事件

还可以通过element.addEventListener(event, function, useCapture)的语法为元素添加事件

useCapture”参数来规定传播类型。false,将使用冒泡传播,如果该值设置为 true,则是使用捕获传播。默认是false。

var x = document.getElementById("myBtn");

if (x.addEventListener) { // 针对主流浏览器,除了 IE 8 及更正版本

x.addEventListener("click", myFunction);

} else if (x.attachEvent) { // 针对 IE 8 及更早版本

x.attachEvent("onclick", myFunction);

}

节点关系

parentNode 父亲节点

childNodes[nodenumber] 孩子节点

firstChild 第一个孩子节点

lastChild 最后一个孩子节点

nextSibling 下一个兄弟节点

previousSibling 前一个兄弟节点

节点的操作方法

createTextNode 创建文本节点

appendChild 追加孩子节点

insertBefore 在某个节点前添加节点

removeChild 删除孩子节点

replaceChild 替换孩子节点

集合和节点列表

例如通过getElementsByTagName() 方法获取到的就是 HTMLCollection 对象即集合。

childNodes属性返回的就是NodeList对象即节点列表

HTMLCollection 与 NodeList 的区别

HTMLCollection是 HTML 元素的集合。

NodeList 是DOM节点的集合。

HTMLCollection 和 NodeList 对象都是对象列表(集合)。

它们都有项目数的 length 属性。

它们都可以通过索引访问每个项目。

可以通过名称、id 或索引号 来访问HTMLCollection中的各个对象。

NodeList只能通过索引号访问。

NodeList 对象还包含属性节点和文本节点。

HTML对象

document.anchors 返回拥有 name 属性的所有 <a> 元素。

document.applets 返回所有 <applet> 元素(HTML5 不建议使用)

document.baseURI 返回文档的绝对基准 URI

document.body 返回 <body> 元素

document.cookie 返回文档的 cookie

document.doctype 返回文档的 doctype

document.documentElement 返回 <html> 元素

document.documentMode 返回浏览器使用的模式

document.documentURI 返回文档的 URI

document.domain 返回文档服务器的域名

document.domConfig 废弃。返回 DOM 配置

document.embeds 返回所有 <embed> 元素

document.forms 返回所有 <form> 元素

document.head 返回 <head> 元素

document.images 返回所有 <img> 元素

document.implementation 返回 DOM 实现

document.inputEncoding 返回文档的编码(字符集)

document.lastModified 返回文档更新的日期和时间

document.links 返回拥有 href 属性的所有 <area> 和 <a> 元素

document.readyState 返回文档的(加载)状态

document.referrer 返回引用的 URI(链接文档)

document.scripts 返回所有 <script> 元素

document.strictErrorChecking 返回是否强制执行错误检查

document.title 返回 <title> 元素

document.URL 返回文档的完整 URL

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言