javascript转换字符串为dom对象(字符串动态创建dom)

 更新时间:2010年05月10日 18:24:17   作者:  
那么今天的目的就是教大家怎么去实现一个这样的方法用来把字符串直接转换为标准的dom对象
前言:
在javascript里面动态创建标准dom对象一般使用:
var obj = document.createElement('div');
然后再给obj设置一些属性。
但是,在实际使用过程中,有些人可能会想,要是能这样创建标准的dom对象就好了
伪代码:var obj=strToDom('<div id="div_1" class="div1">Hello World!</div>');
那么今天的目的就是教大家怎么去实现一个这样的方法用来把字符串直接转换为标准的dom对象

start:
其实实现这样的一个转换是很简单的,这里主要是利用了一个属性innerHTML.
innerHTML,我相信大家都使用过,特别是动态往一个元素里面插内容时使用,这里我还是在介绍下innerHTML,方便于还不太熟悉的人。
innerHTML不是w3c标准,是由ie发明创造出来的,但是由于这个属性的方便性,和当时微老大的地位,其它非ie浏览器也内置了innerHTML并给出了支持。
虽然innerHTML不是w3c标准,但是却是一个事实标准,这个事实标准很重要,也就是目前主流浏览器都支持innerHTML,自然就做到了兼容多浏览器。
code:
复制代码 代码如下:

function parseDom(arg) {
   var objE = document.createElement("div");
   objE.innerHTML = arg;
   return objE.childNodes;
};

短短几行代码就实现了转换,我们首先用标准的方法创建一个div出来,在用innerHTML来插入一个元素,其实也就是利用浏览器自己的内核算法来实现的一个转换。在用childNodes返回出来。
这样我们就完成了一个字符串到标准dom的转换,巧妙的利用浏览器本身的算法,可以用简单少量的代码来完成大量复杂的转换,我们不用去解析字符串,而是交给浏览器自己来完成,这样既准确又无误。
使用:
复制代码 代码如下:

var obj=parseDom('<div id="div_1" class="div1">Hello World!</div>');
var obj=parseDom('<div id="div_1" class="div1">Hello World!</div><span>多个也没关系</span>');

注意:
childNodes返回的是一个类似数组的list。所以如果是一个元素,要使用这个dom需要这样使用obj[0]。如果是多个同级的dom转换,可以这样使用obj[0]、obj[1]…
end

到这里就结束了,在这里向大家推荐一个我自己写的js框架,上面的这个方法集成在框架里面了
使用:b$.parseDom('<div id="div_1" class="div1">Hello World!</div>')

bBank 开源Javascript框架

相关文章

  • 详解Javascript动态操作CSS

    详解Javascript动态操作CSS

    本文我们会讨论如何通过 JavaScript 在运行时操作 CSS,从而动态地更新应用到我们的元素上的式样。本文所用的技术是我们已经看到过的,但在利用 CSS DOM 来进行操作的时候还需要注意几个特殊点。
    2014-12-12
  • 微信小程序new Date()方法失效问题解决方法

    微信小程序new Date()方法失效问题解决方法

    这篇文章主要介绍了小程序new Date()方法失效问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • js的alert弹出框出现乱码解决方案

    js的alert弹出框出现乱码解决方案

    alert弹出框出现乱码的情况,想必大家都有遇到过吧,其实解决方法很简单设置charset=utf-8在试试,看看是不是好了
    2013-09-09
  • 小议Function.apply() 之一------(函数的劫持与对象的复制)

    小议Function.apply() 之一------(函数的劫持与对象的复制)

    小议Function.apply() 之一------(函数的劫持与对象的复制)...
    2006-11-11
  • JavaScript实现点击单元格改变背景色的方法

    JavaScript实现点击单元格改变背景色的方法

    这篇文章主要介绍了JavaScript实现点击单元格改变背景色的方法,涉及JavaScript响应鼠标事件动态操作页面元素属性的相关技巧,需要的朋友可以参考下
    2016-02-02
  • 微信小程序页面间跳转传参方式总结

    微信小程序页面间跳转传参方式总结

    这篇文章主要给大家总结介绍了关于微信小程序页面间跳转传参方式,文中通过示例代码介绍的非常详细,对大家学习或者使用小程序具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 如何在TypeScript中使用函数

    如何在TypeScript中使用函数

    这篇文章主要为大家介绍了如何在TypeScript中使用函数实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • js链接确认提醒功能

    js链接确认提醒功能

    非常不错的功能,当单机一个链接时,会弹出确认对话框效果
    2008-09-09
  • js解决select下拉选不中问题

    js解决select下拉选不中问题

    当事件mouseover中出现select下拉框时,select下拉是选不中的,下面有个不错的解决方法,大家可以看看
    2014-10-10
  • JavaScript中ES6规范中let和const的用法和区别

    JavaScript中ES6规范中let和const的用法和区别

    这篇文章主要介绍了JavaScript中ES6规范中let和const的用法和区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08

最新评论