`
mutongwu
  • 浏览: 448527 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

DOM操作:insertAdjacentHTML与Range的实现

    博客分类:
  • DOM
阅读更多
利用insertAdjacentHTML与Range实现DOM操作,可以允许我们把一串字符串快速的转变为DOM元素,并插入到文档中的具体位置。
function fn(){
//IE 和 Chrome
	var str = '<div style="width:200px;height:100px;background-color:gray;">Content here</div>';
	var b = document.getElementById("b");
	//b.insertAdjacentHTML('BeforeBegin',str);//把str元素插入在b之前
	//b.insertAdjacentHTML('AfterBegin',str);//把str元素插入作为b的第一个子元素
	//b.insertAdjacentHTML('BeforeEnd',str);//把str元素插入作为b的最后一个子元素
	b.insertAdjacentHTML('AfterEnd',str);//把str元素插入在b之后
}
function fn2(){
//Firefox
	var str = '<div style="width:200px;height:100px;background-color:gray;">Content here</div>';
	var b = document.getElementById("b");
	var range = document.createRange();
	frag = range.createContextualFragment(str);
	//BeforeBegin
	 //range.setStartBefore(b);
     //b.parentNode.insertBefore(frag, b);
	
	//afterbegin
	//range.setStartBefore(b.firstChild);
   // b.insertBefore(frag, b.firstChild);

   //beforeend
    range.setStartAfter(b.lastChild);
    b.appendChild(frag);

    //AfterEnd
	//range.setStartAfter(b);
	//b.parentNode.insertBefore(frag, b.nextSibling);
}


分享到:
评论

相关推荐

    insertAdjacentHTML动态插入行[归类].pdf

    在软件开发中,尤其是涉及到网页动态更新和DOM操作时,`insertAdjacentHTML`是一个非常实用的方法。这个方法允许开发者在指定的位置动态插入HTML内容,相比`innerHTML`和`innerText`,它提供了更多的灵活性。`...

    JavaScript DOM编程艺术 源代码

    10. **DOM2级和DOM3级扩展**:DOM2级引入了更多关于事件、样式和遍历的新接口,DOM3级增加了XML支持和更强大的查找功能。 这本书的源代码可能涵盖这些主题,并通过实例展示了如何将这些概念应用于实际项目。通过...

    dom-insert-html:使用“insertAdjacentHTML”的 HTML 字符串 DOM 插入方法

    dom-insert-html HTML 字符串 DOM 插入方法。 使用方便的、对压缩器友好的方法... element {Element}: DOM 元素 string {String}:要插入的 HTML 字符串。 例子 var html = require ( 'dom-insert-html' ) ; var el =

    string-to-dom:向DOM中添加HTML字符串,并返回新HTML元素

    使用insertAdjacentHTML以高效的方式将给定的字符串添加到DOM并返回新创建HTML元素。 在测试套件中对设置要声明HTML有用。安装npm install --save string-to-dom用法var stringToDom = require ( 'string-to-dom' )...

    原生js实现针对Dom节点的CRUD操作示例

    本文将详细介绍原生JavaScript实现DOM节点CRUD操作的知识点。 创建(Create)操作涉及通过编程方式向文档添加新的节点元素。基本步骤包括创建元素、设置元素的内容、以及将创建的元素添加到DOM树中的适当位置。例如...

    在table中插入多行的js代码(与insertAdjacentHTML相似的功能)

    1. 表格的DOM操作:在DOM(文档对象模型)中,表格是通过特定的标签如`&lt;table&gt;`, `&lt;tr&gt;`, `&lt;td&gt;`等来构建的。JavaScript可以操作这些标签,从而实现动态地修改表格结构的目的。例如,可以增加、删除或者替换行(tr)...

    JavaScript DOM节点操作方法总结

    本文将总结介绍JavaScript中有关DOM节点操作的主要方法。 首先,DOM节点主要分为三种类型:元素节点、属性节点和文本节点。元素节点对应HTML中的标签,属性节点对应标签中的属性,而文本节点包含标签之间的文本信息...

    js实现省市县级联完整特效实例

    4. **DOM操作**:使用JS的DOM API(如`document.getElementById`、`innerHTML`或`insertAdjacentHTML`)来动态创建和修改DOM元素。当用户切换不同级别时,清空当前级别的选项,然后基于新数据生成新的`&lt;option&gt;`元素...

    js常用操作

    本文将深入探讨 JavaScript 的一些常用操作,包括 DOM 操作、字符串处理、表单操作、定时器功能以及获取窗口尺寸的方法。 #### DOM(Document Object Model)操作 DOM 是用于表示和操作 HTML 或 XML 文档的一种...

    JS效率个人经验谈(8-15更新),加入range技巧

    我会抽空把IE专有的方法如:insertAdjacentHTML的速度也给测出来看看是否合适大量数据时IE下,不用innerHTML的速度。这里的主要测试不是指生成数据时的速度,指的是匹配速度 ,例如我这里的匹配速度我测的10000条...

    在table中插入多行,能使用与insertAdjacentHTML相似的功能吗?

    一般情况下,我们都是用appendChild的方式,一行行、一格格地添加,操作起来很繁锁。能不能拼一串字符,就能直接加入到表格中呢? 下面的例子实现了这个功能,同样地,该例支持IE和firefox。该功能的实现意义重大,...

    js实现上传文件添加和删除文件选择框

    在脚本中要用到两个函数:insertAdjacentHTML和removeChild,而恰好这两个函数在Firefox下都不能正常使用。几乎花费了一天的时候,在网上搜索着解决的方法,还好被找到了,也让我大松一口气。 具体两个函数是这样的...

    ajax实现三级联动

    5. **DOM操作**:使用JavaScript操作DOM(Document Object Model),如`innerHTML`属性或`insertAdjacentHTML`方法,将新选项添加到下拉菜单中。 6. **错误处理**:为AJAX请求添加错误处理机制,当请求失败时,可以...

    CodeCopy浏览器扩展实现在每个代码块上添加一个复制至剪贴板的按钮

    这涉及到DOM(文档对象模型)的遍历和操作,比如使用`querySelectorAll`或`getElementsByClassName`等方法来定位代码块,然后通过`insertAdjacentHTML`或`appendChild`等方法插入复制按钮。 3. **事件监听**:在每...

    省市级联代码纯Javascript(含源代码,测试通过)

    5. **优化性能**:为避免频繁的DOM操作影响性能,可以使用`createDocumentFragment`来批量处理DOM元素,然后再将其添加到页面上。 6. **数据加载**:在纯JavaScript实现中,数据可能预先存在于脚本中,或者通过异步...

    json实现二级连动

    这通常涉及到DOM操作,例如使用`innerHTML`属性或`insertAdjacentHTML()`方法来替换城市下拉框的内容。 4. **异步加载**:在实际应用中,为了优化用户体验,我们通常不会一次性加载所有省份和城市的数据,而是使用...

    仿Google搜索下拉列表

    2. **JavaScript**:JavaScript是实现此功能的基础,用于处理用户交互、发送网络请求以及操作DOM元素。例如,可以使用`addEventListener`监听输入事件,`fetch`或`XMLHttpRequest`发送Ajax请求,以及`innerHTML`或`...

    AJAX+Servlet实现输入框动态提示案例

    这通常通过操作DOM(Document Object Model)来实现,例如使用`innerHTML`属性或者`insertAdjacentHTML`方法。 8. **性能优化**:为了提高用户体验,可能需要对Ajax请求进行一些优化,例如设置合适的超时时间、使用...

    TA-JS-advanced-dom-and-test-TJaaan

    5. **框架集成**:了解如何将这些高级DOM操作与React、Vue或Angular等前端框架结合使用。 通过深入学习这个课程,你将能够更好地驾驭JavaScript中的DOM操作,写出更高效、更健壮的代码,并具备扎实的测试基础,确保...

Global site tag (gtag.js) - Google Analytics