2026/5/12 23:53:36
网站建设
项目流程
网页设计与网站建设在线考试1,网站集约化建设会议,百度权重排名查询,11月将现新冠感染高峰前端知识之–DOM
1.什么是DOM HTML DOM 节点 2.编程接口3. 查找元素4.HTML DOM 属性 innerHTML 属性#xff08;获取#xff09;innerHTML 属性#xff08;替换#xff09;nodeName 属性childNodes 属性nodeValue 属性nodeType 属性 5.操作文本内容 1. 获取标签中间文本内…前端知识之–DOM1.什么是DOMHTML DOM 节点2.编程接口3. 查找元素4.HTML DOM 属性innerHTML 属性获取innerHTML 属性替换nodeName 属性childNodes 属性nodeValue 属性nodeType 属性5.操作文本内容1. 获取标签中间文本内容: innerText2. 获取标签中间内容: innerHTML创建新的 HTML 元素 - appendChild()创建新的 HTML 元素 - insertBefore()删除已有的 HTML 元素-removeChild()替换 HTML 元素-replaceChild()6. 事件HTML 事件属性使用 HTML DOM 来分配事件onload 和 onunload 事件onchange 事件onmouseover 和 onmouseout 事件onmousedown、onmouseup 以及 onclick 事件7.导航节点列表HTML DOM 节点列表长度导航节点关系DOM 根节点childNodes 和 nodeValue8.HTML DOM 总结1.什么是DOM我们在前端的学习中经常会发现DOM这个高频词那么什么是DOM呢DOM是文档对象模型Document Object Model的缩写。 是 W3C万维网联盟的标准。是一种用于HTML和XML文档的编程接口。它给文档提供了一种结构化的表示方法可以改变文档的内容和呈现方式。是中立于平台和语言的接口它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM属于浏览器而不是JavaScript语言规范里的规定的核心内容。HTML DOM 节点在 HTML DOM 中所有事物都是节点。DOM 是被视为节点树的 HTML。通过 HTML DOM树中的所有节点均可通过 JavaScript 进行访问。所有 HTML 元素节点均可被修改也可以创建或删除节点。2.编程接口可通过 JavaScript 以及其他编程语言对 HTML DOM 进行访问。所有 HTML 元素被定义为对象而编程接口则是对象方法和对象属性。方法是您能够执行的动作比如添加或修改元素。属性是您能够获取或设置的值比如节点的名称或内容。3. 查找元素document.getElementById(apple); //找到id为appel的标签因为id是唯一的所以是element(ID选择器) document.getElementsByTagName(like); //找到like标签的所有元素的节点列表(标签选择器) document.getElementsByClassName(pdd); //找到class为pdd的标签的所有元素的节点列表(class选择器)4.HTML DOM 属性innerHTML 属性获取获取元素内容的最简单方法是使用 innerHTML 属性。innerHTML 属性对于获取或替换 HTML 元素的内容很有用。//获取 idintro 的 p 元素的 innerHTML html body p idintroHello World!/p script //getElementById 是一个方法,innerHTML是一个属性 var txtdocument.getElementById(intro).innerHTML; document.write(txt); /script /body /htmlinnerHTML 属性替换!DOCTYPE html html body p idp1Hello World!/p script //找到idp1的标签替换内容 document.getElementById(p1).innerHTMLNew text!; /script p上面的段落被一段脚本改变了。/p /body /htmlnodeName 属性nodeName 属性规定节点的名称。nodeName 是只读的元素节点的 nodeName 与标签名相同(、、等都是元素节点即标签)属性节点的 nodeName 与属性名相同(元素属性如标签的链接属性href“http://www.imooc.com”)文本节点的 nodeName 始终是 #text(向用户展示的内容如li…li中的JavaScript、DOM、CSS等文本)文档节点的 nodeName 始终是 #documentnodeName 始终包含 HTML 元素的大写字母标签名。!DOCTYPE html html bodyp iddemo请点击按钮来获得 body 元素子节点的节点名。/p button onclickmyFunction()试一下/button script function myFunction() { var txt; var cdocument.body.childNodes;//返回节点的子节点集 for (i0; ic.length; i)//使用 length 属性来确定子节点的数量然后遍历所有的子节点并提取需要的信息 { txttxt c[i].nodeName br; }; var xdocument.getElementById(demo); x.innerHTMLtxt; } /script pb注释/b元素中的空格被视作文本而文本被视作文本节点。/p /body /htmlP#textBUTTON#textSCRIPT //因为空隔返回为#text#textP#textchildNodes 属性childNodes 属性返回节点的子节点集合以 NodeList 对象。可以使用 length 属性来确定子节点的数量然后遍历所有的子节点并提取需要的信息。nodeValue 属性nodeValue 属性规定节点的值。元素节点的 nodeValue 是 undefined 或 null文本节点的 nodeValue 是文本本身属性节点的 nodeValue 是属性值!DOCTYPE html html body p idintroHello World!/p script xdocument.getElementById(intro); document.write(x.firstChild.nodeValue);//取回 p idintro 标签的文本节点值 /script /body /htmlnodeType 属性nodeType 属性返回节点的类型。nodeType 是只读的。元素类型 NodeType元素 1属性 2文本 3注释 8文档 95.操作文本内容document对象中有innerHTML、innerText这两个属性都是获取document对象文本内容但使用起来还是有区别的1. 获取标签中间文本内容: innerText设置或获取标签所包含的HTML文本信息(从标签起始位置到终止位置全部内容包括HTML标签但不包括自身)2. 获取标签中间内容: innerHTML设置或获取标签所包含的文本信息从标签起始位置到终止位置的内容去除HTML标签但不包括自身创建新的 HTML 元素 - appendChild()如需向 HTML DOM 添加新元素您首先必须创建该元素然后把它追加到已有的元素上。(将新元素作为父元素的最后一个子元素进行添加)。div iddiv1 p idp1This is a paragraph./p p idp2This is another paragraph./p /div script //创建了一个新的 p 元素 var paradocument.createElement(p); //创建文本节点,向 p 元素添加文本 var nodedocument.createTextNode(This is new.); //向 p 元素追加文本节点 para.appendChild(node); //查找到一个已有的元素 var elementdocument.getElementById(div1); //向这个已存在的元素追加新元素 element.appendChild(para); /script创建新的 HTML 元素 - insertBefore()在指定的已有子节点之前插入新的子节点。div iddiv1 p idp1This is a paragraph./p p idp2This is another paragraph./p /div script var paradocument.createElement(p); var nodedocument.createTextNode(This is new.); para.appendChild(node); var elementdocument.getElementById(div1);//获取父节点 var childdocument.getElementById(p1);//获取子节点 element.insertBefore(para,child);//在子节点前插入新的子节点 /script删除已有的 HTML 元素-removeChild()如需删除 HTML 元素您必须清楚该元素的父元素div iddiv1 p idp1This is a paragraph./p p idp2This is another paragraph./p /div script var parentdocument.getElementById(div1);//查找 iddiv1 的元素 var childdocument.getElementById(p1);//查找 idp1 的 p 元素 parent.removeChild(child);//从父元素中删除子元素 /script不能在不引用父元素的情况下删除某个元素可以找到需要删除的子元素然后使用parentNode属性来查找其父元素var childdocument.getElementById(p1); child.parentNode.removeChild(child);替换 HTML 元素-replaceChild()div iddiv1 p idp1This is a paragraph./p p idp2This is another paragraph./p /div script //创建了一个新的 p 元素 var paradocument.createElement(p); //创建文本节点,向 p 元素添加文本 var nodedocument.createTextNode(This is new.); //向 p 元素追加文本节点 para.appendChild(node); //查找 iddiv1 的元素 var parentdocument.getElementById(div1); //查找 idp1 的 p 元素 var childdocument.getElementById(p1); //在父节点parent下子节点para替换child parent.replaceChild(para,child); /script6. 事件当事件发生时可以执行 JavaScript比如当用户点击一个 HTML 元素时。如需在用户点击某个元素时执行代码请把 JavaScript 代码添加到 HTML 事件属性中onclickJavaScript示例当用户点击时会改变 h1元素的内容!DOCTYPE html html body h1 onclickthis.innerHTMLhello!请点击这段文本!/h1 /body /html示例2在本例中会从事件处理程序中调用函数!DOCTYPE html html head script function changetext(id)//定义函数与传参 { id.innerHTMLhello!; //参数id修改为hello } /script /head body //点击oclick调用changtext函数 h1 onclickchangetext(this)请点击这段文本!/h1 /body /htmlHTML 事件属性如需向 HTML 元素分配事件可以使用事件属性。实例向 button 元素分配一个 onclick 事件!DOCTYPE html html body p点击按钮来执行 bdisplayDate()/b 函数。/p //点击调用displayDate函数 button onclickdisplayDate()试一试/button script function displayDate() { //获取demo元素修改设置Date(当前时间) document.getElementById(demo).innerHTMLDate(); } /script p iddemo/p /body /html使用 HTML DOM 来分配事件HTML DOM 允许使用JavaScript 向 HTML 元素分配事件实例为 button 元素分配 onclick 事件!DOCTYPE html html head /head body p点击按钮来执行 bdisplayDate()/b 函数。/p button idmyBtn试一试/button script //名为 displayDate 的函数被分配给了 idmyButn 的 HTML 元素 //当按钮被点击时将执行函数。 document.getElementById(myBtn).onclickfunction(){displayDate()}; function displayDate() { document.getElementById(demo).innerHTMLDate(); } /script p iddemo/p /body /htmlonload 和 onunload 事件当用户进入或离开页面时会触发 onload 和 onunload 事件。onload 事件可用于检查访客的浏览器类型和版本以便基于这些信息来加载不同版本的网页。(onload 和 onunload 事件可用于处理 cookies。)示例!DOCTYPE html html body onloadcheckCookies() script function checkCookies() { //Navigator 对象包含有关浏览器的信息。 //cookieEnabled 属性可返回一个布尔值如果浏览器启用了 cookie该属性值为 true。如果禁用了 cookie则值为 false。 if (navigator.cookieEnabledtrue) { alert(Cookies are enabled) } else { alert(Cookies are not enabled) } } /script p弹出的提示框会告诉你浏览器是否已启用 cookie。/p /body /htmlonchange 事件用于输入字段的验证!DOCTYPE html html head script function myFunction() { var xdocument.getElementById(fname); //当用户改变输入字段的内容时将调用 upperCase() 函数。把所有小写字符转换为大写把返回值重新赋给x.value x.valuex.value.toUpperCase(); } /script /head body 请输入你的英文名input typetext idfname onchangemyFunction() p当你离开输入框时被触发的函数会把你输入的文本转换为大写字母。/p /body /htmlonmouseover 和 onmouseout 事件可用于在鼠标指针移动到或离开元素时触发函数!DOCTYPE html html body div //鼠标移到目标上 onmouseovermOver(this) //鼠标离开目标 onmouseoutmOut(this) stylebackground-color:#D94A38;width:200px;height:50px;padding-top:25px;text-align:center; Mouse Over Me /div script function mOver(obj) { obj.innerHTML谢谢你 } function mOut(obj) { obj.innerHTML把鼠标指针移动到上面 } /script /body /htmlonmousedown、onmouseup 以及 onclick 事件onmousedown、onmouseup以及onclick事件是鼠标点击的全部过程。首先当某个鼠标按钮被点击时触发 onmousedown 事件然后当鼠标按钮被松开时会触发 onmouseup 事件最后当鼠标点击完成时触发 onclick 事件。!DOCTYPE html html body div onmousedownmDown(this) onmouseupmUp(this) stylebackground-color:#D94A38;width:200px;height:50px;padding-top:25px;text-align:center; 点击这里 /div script function mDown(obj) { obj.style.backgroundColor#1ec5e5; obj.innerHTML松开鼠标 } function mUp(obj) { obj.style.backgroundColor#D94A38; obj.innerHTML谢谢你 } /script /body /html更多内容请查阅JavaScript 参考手册7.导航通过 HTML DOM能够使用节点关系在节点树中导航。节点列表通过getElementsByTagName() 方法返回节点列表。节点列表是一个节点数组。//选取文档中的所有 p 节点 var xdocument.getElementsByTagName(p); //访问第二个节点 yx[1];HTML DOM 节点列表长度length 属性定义节点列表中节点的数量。!DOCTYPE html html body pHello World!/p pDOM 很有用/p p本例演示 blength/b 属性。/p script //返回节点列表长度 xdocument.getElementsByTagName(p); //遍历 for (i0;ix.length;i) { document.write(x[i].innerHTML); //每次打印分行 document.write(br); } /script /body /html }导航节点关系能够使用三个节点属性parentNode父节点、firstChild首个元素 以及 lastChild 最后一个元素在文档结构中进行导航。firstChild 属性可用于访问元素的文本!DOCTYPE html html body p idintroHello World!/p script xdocument.getElementById(intro); // document.write(x.firstChild.nodeValue); /script /body /htmlDOM 根节点这里有两个特殊的属性可以访问全部文档document.documentElement - 全部文档document.body - 文档的主体html body pHello World!/p div pDOM 很有用!/p p本例演示 bdocument.body/b 属性。/p /div script alert(document.body.innerHTML); /script /body /htmlchildNodes 和 nodeValue除了 innerHTML 属性也可以使用 childNodes 和 nodeValue 属性来获取元素的内容。示例获取 id“intro” 的元素的值!DOCTYPE html html body p idintroHello World!/p script txtdocument.getElementById(intro).childNodes[0].nodeValue; document.write(txt); /script /body /htmlgetElementById 是一个方法而 childNodes 和 nodeValue 是属性。8.HTML DOM 总结HTML DOM 可以用来增强网站的动态交互性操作 HTML 元素以响应不同的场景。2025开年AI技术打得火热正在改变前端人的职业命运阿里云核心业务全部接入Agent体系字节跳动30%前端岗位要求大模型开发能力腾讯、京东、百度开放招聘技术岗80%与AI相关……大模型正在重构技术开发范式传统CRUD开发模式正在被AI原生应用取代最残忍的是业务面临转型领导要求用RAG优化知识库检索你不会带AI团队微调大模型要准备多少数据你不懂想转型大模型应用开发工程师等相关岗没项目实操经验……这不是技术焦虑而是职业生存危机曾经React、Vue等热门的开发框架已不再是就业的金钥匙。如果认为会调用API就是懂大模型、能进行二次开发那就大错特错了。制造、医疗、金融等各行业都在加速AI应用落地未来企业更看重能用AI大模型技术重构业务流的技术人。如今技术圈降薪裁员频频爆发传统岗位大批缩水相反AI相关技术岗疯狂扩招薪资逆势上涨150%大厂老板们甚至开出70-100W年薪挖掘AI大模型人才不出1年 “有AI项目开发经验”或将成为前端人投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘大模型目前在人工智能领域可以说正处于一种“炙手可热”的状态吸引了很多人的关注和兴趣也有很多新人小白想要学习入门大模型那么如何入门大模型呢下面给大家分享一份2025最新版的大模型学习路线帮助新人小白更系统、更快速的学习大模型2025最新版CSDN大礼包《AGI大模型学习资源包》免费分享**一、2025最新大模型学习路线一个明确的学习路线可以帮助新人了解从哪里开始按照什么顺序学习以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛没有明确的学习路线可能会导致新人感到迷茫不知道应该专注于哪些内容。我们把学习路线分成L1到L4四个阶段一步步带你从入门到进阶从理论到实战。L1级别:AI大模型时代的华丽登场L1阶段我们会去了解大模型的基础知识以及大模型在各个行业的应用和分析学习理解大模型的核心原理关键技术以及大模型应用场景通过理论原理结合多个项目实战从提示工程基础到提示工程进阶掌握Prompt提示工程。L2级别AI大模型RAG应用开发工程L2阶段是我们的AI大模型RAG应用开发工程我们会去学习RAG检索增强生成包括Naive RAG、Advanced-RAG以及RAG性能评估还有GraphRAG在内的多个RAG热门项目的分析。L3级别大模型Agent应用架构进阶实践L3阶段大模型Agent应用架构进阶实现我们会去学习LangChain、 LIamaIndex框架也会学习到AutoGPT、 MetaGPT等多Agent系统打造我们自己的Agent智能体同时还可以学习到包括Coze、Dify在内的可视化工具的使用。L4级别大模型微调与私有化部署L4阶段大模型的微调和私有化部署我们会更加深入的探讨Transformer架构学习大模型的微调技术利用DeepSpeed、Lamam Factory等工具快速进行模型微调并通过Ollama、vLLM等推理部署框架实现模型的快速部署。整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握而L3 L4更多的是通过项目实战来掌握大模型的应用开发针对以上大模型的学习路线我们也整理了对应的学习视频教程和配套的学习资料。二、大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。书籍含电子版PDF三、大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。四、大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。五、大模型面试题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。因篇幅有限仅展示部分资料需要点击下方链接即可前往获取2025最新版CSDN大礼包《AGI大模型学习资源包》免费分享