js自带函数和jquery中的append方法相似 insertAdjacentHTML是一个非常酷的DOM方法,我们可以调用任何DOM元素来向页面添加新内容。...这是插入新内容的一种很方便且灵活的方法。 对元素调用该方法并接受两个参数:位置和包含HTML的字符串。...这代表我们将HTML添加到容器中的位置。...我们有四种选项可以设置它的位置: beforebegin 在元素之前 afterbegin 在元素的第一个子元素之后 beforeend 在元素的最后一个子元素之后 afterend 在元素之后 下面的示例代码展示了...,向列表中添加了一项: document.querySelector('ul').insertAdjacentHTML('beforeend', 'item')
[i].index = i; this.lis[i].onclick = this.toggleTab; 使用排他,实现只有一个元素的显示 toggleTab() { //将所有的标题与内容类样式全部移除...'; } 4、添加 MDN Web文档:https://developer.mozilla.org 查询insertAdjacentHTML用法 点击+可以实现添加新的选项卡和内容 一步...现在高级做法:利用insertAdjacentHTML()可以直接把字符串格式元素添加到父元素中 appendChild不支持追加字符串的子元素, insertAdjacentHTML支持追加字符串的元素... that.ul.insertAdjacentHTML('beforeend', li); that.fsection.insertAdjacentHTML('beforeend', section...; 在双击事件处理文本选中状态,修改内部DOM节点,实现新旧value值的传递 editTab() { var str = this.innerHTML; // 双击禁止选定文字
].onclick = this.toggleTab; 使用排他,实现只有一个元素的显示 toggleTab() { //将所有的标题与内容类样式全部移除 for (var i...that.ul.insertAdjacentHTML('beforeend', li); that.fsection.insertAdjacentHTML('beforeend', section...1.点击+可以实现添加新的选项卡和内容 2.第一步:创建新的选项卡li和新的内容section 3.第二步: 把创建的两个元素追加到对应的父元素中. 4.以前的做法:动态创建元素createElement..., 但是元素里面内容较多,需要innerHTML赋值在appendChild 追加到父元素里面. 5.现在高级做法:利用insertAdjacentHTMLO可以直接把字符串格式元素添加到父元素中...6.appendChild不支持追加字符串的子 愫, insertAdjacentHTML支持追加字符串的元素
双击tab项文字或者内容项文字可以修改里面的文字内容 1.2案例准备 获取到标题元素 获取到内容元素 获取到删除的小按钮 x号 新建js文件,定义类,添加需要的属性方法(切换,删除...[i].onclick = this.toggleTab; 使用排他,实现只有一个元素的显示 toggleTab() { //将所有的标题与内容类样式全部移除 for (...that.ul.insertAdjacentHTML('beforeend', li); that.fsection.insertAdjacentHTML('beforeend', section....remove(); that.sections[index].remove(); that.init(); // 当我们删除的不是选中状态的li 的时候,原来的选中状态li...; 在双击事件处理文本选中状态,修改内部DOM节点,实现新旧value值的传递 editTab() { var str = this.innerHTML; // 双击禁止选定文字
整理常见 DOM 操作 ⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅 框架用多了,你还记得那些操作 DOM 的纯 JS 语法吗?看看这篇文章,来回顾一下~ ?...操作 className addClass 给元素增加 class,使用 classList 属性,该属性返回的是 DOMTokenList 对象,对象有一个 add 方法可添加 class,如果没有这个属性那么使用...insertBefore 在元素前面插入新的元素,直接使用 insertBefore 即可,注意要在 parentNode 上调用,refEl 代表参照节点 function insertBefore(...== el) } insertAdjacentHTML 在元素内部或外部追加 html 代码;insertAdjacentHTML 接收两个参数,一个是相对位置,一个是 html 字符串。...-- beforeend --> <!
请注意,返回的节点不再是DOM的一部分,而是仍存在于内存中。 如果处理不当,可能会导致内存泄漏。...它不会重新解析它正在使用的元素,因此它不会破坏元素内的现有元素。这避免了额外的序列化步骤,使其比直接innerHTML操作更快。...position是相对于元素的位置,并且必须是以下字符串之一: beforebegin:元素自身的前面。 afterbegin:插入元素内部的第一个子节点之前。...beforeend:插入元素内部的最后一个子节点之后。 afterend:元素自身的后面。 text是要被解析为HTML或XML,并插入到DOM树中的字符串。 <!...正确处理DOM树非常重要,如果操作不正确,可能会导致严重后果。
插入标记 我们之前用的api大多数都是获取元素内容,HTML5规范中定义了一个向标签元素内添加内容的方法。...innerHTML innerHTML是向元素内插入一个字符串,注释或者文本标记,它会根据现在提供的内容重新渲染到DOM树上,替代之前元素包含的所有节点。...insertAdjacentHTML()和inserAdjacentText() 这俩个方法都接受俩个参数,第一个参数是固定的,必须是以下4中类型 "beforebegin",插入当前元素前面,作为前一个同胞节点...; "afterbegin",插入当前元素内部,作为新的子节点或放在第一个子节点前面; "beforeend",插入当前元素内部,作为新的子节点或放在最后一个子节点后面; "afterend",插入当前元素后面...还有一个就是不要用循环来替换或者添加元素,这样每次是通过先获取再添加,也会占据很大的性能。
我们在对象中发现了Hello World字符串,并且我们在template属性中看到它多所对应的值是一个标签,就是这个标签{msg},另外,里面我们会看到使用{}包裹的msg字符。...document.querySelector(v.el).insertAdjacentHTML("beforeEnd", render(globalObj....insertAdjacentHTML() 方法将指定的文本解析为 Element 元素,并将结果节点插入到DOM树中的指定位置。它不会重新解析它正在使用的元素,因此它不会破坏元素内的现有元素。...insertAdjacentHTML()方法传入的第二个参数是是要被解析为HTML或XML元素,并插入到DOM树中的DOMString,render(globalObj....一旦建立了一个解析对象以后,你就可以使用它的parseFromString方法来解析一个html字符串。
文档对象模型(DOM)提供了许多强大的功能,在现代浏览器中无需外部依赖即可使用。在本文中,我们将探讨8个可能被忽视的DOM功能 1....使用 addEventListener() 方法与 options 最常用的DOM方法之一是 addEventListener() ,它允许我们将事件监听器附加到元素上。...与 classList 一起进行类操作 在JavaScript中,当与元素一起工作时,类操作是一项常见任务。 classList 属性提供了一组方法,简化了在元素上添加、删除和切换类的操作。...当你想根据元素是否匹配特定选择器执行某些操作时, matches() 方法非常有用。它消除了手动遍历DOM或使用复杂的CSS选择器匹配逻辑的需要。 5....平滑动画的方法 在网页上为元素添加动画效果是一个常见的需求,但有时候也是一项具有挑战性的任务。
,同时返回实例对象; constructor函数只要new生成实例时,就会自动调用这个函数,如果我们不写这个函数,类也会自动生成这个函数; 多个函数方法之间不需要添加逗号分隔; 生成实例new不能省略;...双击tab项文字或者内容项文字可以修改里面的文字内容 3.2案例准备 获取到标题元素 获取到内容元素 获取到删除的小按钮 x号 新建js文件,定义类,添加需要的属性方法(切换,删除,增加,修改) 时刻注意...that.ul.insertAdjacentHTML('beforeend', li); that.fsection.insertAdjacentHTML('beforeend', section...>'; thisReplace.sectionFather.insertAdjacentHTML('beforeend', section); thisReplace.init...thisReplace.lis[index].remove(); thisReplace.sections[index].remove(); // 删除元素后,让删除最后一个元素时然之前的一个元素处于选中状态
数据即可查到提交的post数据 ps 不能在头部引入,会出现找不到DOM节点的情况,请在文末引入 获取和设置非标准的HTML属性 现在说的是一个html的属性,即HTMLElemnent对象定义的html...innerHTML会返回其中的HTML代码,包括标签 但是textContent不会,会把所有的内容统统返回 插入元素内容 有两个定义好的api分别是element.insertAdjacentHTML...以及 Element.insertAdjacentText() 这两个元素内容 element.insertAdjacentHTML() 这个会将文本解析为html或者xml,并且将结果插入指定的DOM...(); // 从后到前循环子节点,使得每一个子节点移动到临时容器中 // n的最后一个节点变成f的第一个节点 // 每次给f添加一个节点该节点会自动从n中删除 while(n.lastChild...) f.appendChild(n.lastChild); // 添加子节点 // 最后,把f的所有子节点一次性全部移回n中 n.appendChild(f); }; insertAdjacentHTML
(直接查找) 通过属性获取节点方法(间接查找) 常用的节点属性获取方式 DOM修改、删除、添加 DOM修改 DOM添加 DOM删除 DOM控制CSS样式 通过 style 属性控制样式 通过 classList...修改、删除、添加 上面介绍的是DOM获取方法和属性,下面介绍如何交互,主要用到修改、删除、添加 DOM修改 方法 说明 innerHTML innerHTML 除了获取元素内容,也可通过赋值用于修改元素中内容...'beforeend' 插入元素内部的最后一个子节点之后 'afterend' 元素自身的后面 示例 元素2后面') div.insertAdjacentHTML('afterend','元素自身后面') DOM删除 element.removeChild...,所以应该将代码放在 load 事件中,等待元素加载完成后再 获取其内容; 使用 onload 绑定事件时,注意一个页面不要存在多个 onload,这样会只会运行最后一个 onload 中的代码,推荐使用
10 DocumentType 向为文档定义的实体提供接口 11 DocumentFragment 代表轻量级的 Document 对象,能够容纳文档的某个部分 12 Notation 代表 DTD 中声明的符号...:name属性名 getElementsByClassName() 一个参数:包含一个或多个类名的字符串 querySelector() 接收CSS选择符,返回匹配到的第一个元素,没有则null querySelectorAll...)外,还有其他操作 nodeName 访问元素的标签名 tagName 访问元素的标签名 createElement() 创建节点 appendChild() 末尾添加节点,并返回新增节点 insertBefore...(是否复制子节点) insertAdjacentHTML() 插入文本,两个参数:插入的位置和要插入文本"beforebegin",在该元素前插入"afterbegin",在该元素第一个子元素前插入"beforeend...",在该元素最后一个子元素后面插入"afterend",在该元素后插入 "beforebegin",在该元素前插入 "afterbegin",在该元素第一个子元素前插入 "beforeend",在该元素最后一个子元素后面插入
这些节点是单个文本字符串,但由于文本是动态附加的,因此它们被视为单独的节点。 在某些情况下,将文本视为单个文本节点会更有用,这可以使得文本更容易操作。...insertAdjacentHTML() 方法,该方法允许您轻松地将文本或HTML字符串添加到页面中与其他元素相关的特定位置。...insertAdjacentHTML() 的缺陷之一是插入的内容必须是字符串形式。...因此,这是一种将元素从DOM中的一个位置传输到另一个位置的简单方法。 这是一个使用 insertAdjacentElement() 的代码演示。...() 时,可能需要防止函数调用中出现默认浏览器行为。
如果属性已经存在,则更新该值;否则,使用指定的名称和值添加一个新的属性 通过属性名更改属性 对元素属性重新赋值可更改对应属性值 2....,插入的值为字符串,所以需要使用可以解析html字符串的DOM属性,返回元素中的html内容。....________ ('第二行') 答案:write 此处需要在div后添加一个元素,应使用对应的节点写入方法,将html字符串解析为html元素并写入到html...字符代码 – 表示ASCII字符的数字 键盘代码 – 表示键盘上真实键的数字 charCode 返回keypress事件触发时按下的字符键的字符Unicode值,用于keydown或keyup时总是返回...写在了h1元素上方,所以需要等待页面加载完成才能获取到此元素,此处需使用页面加载完成时触发的事件。
用一种错误的方式使用语义元素比保持中立更糟糕。 <!...当选择器有多于3个结构伪类,后代或兄弟选择器的时候,考虑添加一个类到你想匹配的元素。...理论上,所有函数都不会产生副作用,不会使用外部数据,并且会返回新对象,而不是改变现有的对象。...// bad const createDivs = howMany => { while (howMany--) { document.body.insertAdjacentHTML("beforeend...howMany) return; document.body.insertAdjacentHTML("beforeend", ""); return createDivs(
// 蛇增加身体的方法 addBody(){ // 向element中添加一个div this.element.insertAdjacentHTML("beforeend...而且它并不会向innerHTML一样会替换掉已有的节点,而是会插入到指定位置。...使用:element.insertAdjacentHTML(position,text) position参数 position就是想要插入的位置,一共有如下的4个固定的值 beforebegin:元素...afterend:元素element自己的后面。 text参数 参数便是你想要插入的HTML元素,可以是字符串形式,也可以用ES6新增的模板字符串的形式。...addBody(){ // 向element中添加一个div this.element.insertAdjacentHTML("beforeend", "<div
这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象 2.作用 1、主要用于异步计算。...Promise 对象可能会变为fulfilled 状态并传递一个值给相应的状态处理方法,也可能变为失败状态(rejected)并传递失败信息。...testPromise() 方法在每次点击 按钮时被调用,该方法会创建一个promise 对象,使用 window.setTimeout() 让Promise等待 1-3 秒不等的时间来填充数据(通过...函数在 Promise 成功或失败时都可能被调用 (resolve, reject) => { log.insertAdjacentHTML('...promise (' + reason + ')'); }); log.insertAdjacentHTML('beforeend', thisPromiseCount
scrollTo() 方法用于在窗口或元素中平滑滚动 平滑滚动总是经常被用到的。当点击本地页面链接并立即跳转到指定位置时(如果你眨眼,甚至可能会错过跳转过程),这会显得很突兀。...使用 normalize() 和 wholeText 操作文本节点 HTML 文档中的文本节点可能会很复杂,尤其是当动态插入或创建节点时。...insertAdjacentHTML() 的一个缺点是插入的内容必须是字符串的形式。...这是一种在 DOM 中移动元素的简单方法。 这是使用 insertAdjacentElement()的 CodePen 演示。...事实上当使用某些事件时(例如click,dbclick,mouseup,mousedown),这些事件会暴露一些叫做 UIEvent 接口的东西。
浏览器的默认行为是把 inline 元素间的空白字符(空格、换行、Tab)渲染成一个空格,这个问题不止出现在 li 元素上; 解决方案: 1、所以把所有 li 放到同一行; 2、将这些被渲染成空格的字符...DOM 属性访问器:通用性差、扩展性差;但取到的是一个实用对象; g/setAttribute:取到的只是字符串,通用性; dataset:element.dataset;(取到该 DOM 元素上所有的自定义属性...到这个文档片段,最后一次性的将该文档片段 appendChild 到 DOM 树上;由于拼接子元素的过程是在内存中进行的因此可以减少页面的回流和重绘; 2、使用 insertAdjacentHTML(...position, text) 直接向页面插入 HTML 片段,position 分为四个值:beforebegin、afterbegin、beforeend、afterend; 43、em rem vh...ch:常与等宽字体联合使用“Consolas,Monaco,monospace”。1ch 表示一个0字符的宽度,因此只有在等宽字体的情况下,我们才能用 ch 来精确的调整字符的显示。
领取专属 10元无门槛券
手把手带您无忧上云