大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
w3c标准 – Dom
1. DOM
(1) DOM : W3C的标准,定义了访问HTML和XML文档的标准。
(2) 分类
(3)HTML DOM
2. HTML DOM
(1) DOM节点: HTML文档中的所有内容都是节点
(2) 节点父(parent),子(child)和同胞(sibling)
(3)方法: 开发人员可以在节点上执行的操作
div id="test_dom">
</div>
<script type="text/javascript">
var testDomDiv = document.getElementById("test_dom");
//CreateElement.
var newdivElement = document.createElement('div');
testDomDiv.appendChild(newdivElement);
//CreateAttribute.
var newAttribute = document.createAttribute('class');
newAttribute.value = 'footer';
newdivElement.setAttributeNode(newAttribute);
newdivElement.setAttribute('data', '123');
//CretateComment.
var createComment = document.createComment("This the comment for create comment!");
testDomDiv.appendChild(createComment);
//InsertBefore.
var createCommentInsertBefore = document.createComment("This is the comment for insert before");
testDomDiv.insertBefore(createCommentInsertBefore, createComment);
//replaceChild.
var replaceChild = document.createComment("This is used to test the replace child");
testDomDiv.replaceChild(replaceChild, createCommentInsertBefore);
//createtTextNode.
var createTextNode = document.createTextNode("This the test for testing");
testDomDiv.appendChild(createTextNode);
</script>
(4) 属性
//innerhtml 属性对于获取或替换 HTML 元素的内容很有用。 //Note: 这个属性适用于元素节点,对于属性,注释,文本,文档节点返回的结果都是undefined console.debug("InnerHtml"); console.log("Element InnerHtml : " + testDomDiv.innerHTML); console.log("Attribute InnerHtml: " + newAttribute.innerHTML); console.log("Comment InnerHtml : " + createComment.innerHTML); console.log("Text InnerHtml : " + createTextNode.innerHTML); console.log("Document InnerHtml : " + document.innerHTML); console.log(); //nodeName :节点的名称,只读的。 //Note: (1)元素节点的NodeName 与标签名相同。 //Note: (2)属性节点的NodeName 与属性名相同。 //Note: (3)注释节点的NodeName 始终是 #comment。 //Note: (4)文本节点的NodeName 始终是 #text。 //Note: (5)文档节点的NodeName 始终是 #document。 console.debug("NodeName"); console.log("Element NodeName : " + testDomDiv.nodeName); console.log("Attribute NodeName : " + newAttribute.nodeName); console.log("Comment NodeName : " + createComment.nodeName); console.log("Text NodeName : " + createTextNode.nodeName); console.log("Document NodeName : " + document.nodeName); console.log(); //nodeType : 节点的类型,只读的。 //Note: (1)元素节点的NodeType 1 //Note: (2)属性节点的NodeType 2 //Note: (3)注释节点的NodeType 8 //Note: (1)文本节点的NodeType 9 //Note: (1)文档节点的NodeType 3 console.debug("NodeType"); console.log("Element NodeType : " + testDomDiv.nodeType); console.log("Attribute NodeType : " + newAttribute.nodeType); console.log("Comment NodeType : " + createComment.nodeType); console.log("Text NodeType : " + createTextNode.nodeType); console.log("Document NodeType : " + document.nodeType); console.log(); //nodeValue : 节点的值。 //Note: (1)元素节点的NodeValue null //Note: (2)属性节点的NodeValue 是属性值 //Note: (3)注释节点的NodeValue 是注释的内容 //Note: (1)文本节点的NodeValue 是文本本身 //Note: (1)文档节点的NodeValue null console.debug("NodeValue"); console.log("Element NodeValue : " + testDomDiv.nodeValue); console.log("Attribute NodeValue: "+ newAttribute.nodeValue); console.log("Comment NodeValue : " + createComment.nodeValue); console.log("Text NodeValue : " + createTextNode.nodeValue); console.log("Document NodeValue : " + document.nodeValue);
看一下浏览器上的输出结果
(5) HTML DOM的修改
(1)改变 HTML 内容(2)改变 CSS 样式(3)改变 HTML 属性(4)创建新的 HTML 元素(5)删除已有的 HTML 元素(6)改变事件(处理程序)
(6). HTML DOM事件: html dom 允许Javascript对html事件做出反应。
a. 当事件发生时,可以执行javascript。
onclick = Javascript javascript代码直接写在事件处理程序中,或者从事件处理程序中调用函数
b. 事件属性: 如需想HTML元素分配事件,可以使用事件属性,在html标签中属性用于事件处理的就是事件属性。
c. HTML DOM允许使用Javascript向HTML元素分配事件。
(7). HTML DOM导航
a. 节点属性parentNode、firstChild 以及 lastChild
b. DOM根节点
document.documentElement – 全部文档 <html><body></body></html>
document.body – 文档的主体 <body></body>
#document – 带有 !DOCTYPE 标签 <!DOCTYPE html><html><body></body></html>
c. 使用 childNodes 和 nodeValue 属性来获取元素的内容
//id 为intro的元素为一个p标签
var txt=document.getElementById(“intro”).childNodes[0].nodeValue;
3. Summary
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193054.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...