最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript如何实现字符串动态创建dom实例详解

来源:动视网 责编:小采 时间:2020-11-27 20:16:05
文档

javascript如何实现字符串动态创建dom实例详解

javascript如何实现字符串动态创建dom实例详解:在javascript里面动态创建标准dom对象一般使用: var obj = document.createElement('p');然后再给obj设置一些属性。 但是,在实际使用过程中,有些人可能会想,要是能这样创建标准的dom对象就好了 伪代码:var obj=strToDom(&
推荐度:
导读javascript如何实现字符串动态创建dom实例详解:在javascript里面动态创建标准dom对象一般使用: var obj = document.createElement('p');然后再给obj设置一些属性。 但是,在实际使用过程中,有些人可能会想,要是能这样创建标准的dom对象就好了 伪代码:var obj=strToDom(&


在javascript里面动态创建标准dom对象一般使用:

var obj = document.createElement('p');

然后再给obj设置一些属性。
但是,在实际使用过程中,有些人可能会想,要是能这样创建标准的dom对象就好了
伪代码:var obj=strToDom('<p id="p_1" class="p1">Hello World!</p>');
那么今天的目的就是教大家怎么去实现一个这样的方法用来把字符串直接转换为标准的dom对象

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

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

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

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

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

文档

javascript如何实现字符串动态创建dom实例详解

javascript如何实现字符串动态创建dom实例详解:在javascript里面动态创建标准dom对象一般使用: var obj = document.createElement('p');然后再给obj设置一些属性。 但是,在实际使用过程中,有些人可能会想,要是能这样创建标准的dom对象就好了 伪代码:var obj=strToDom(&
推荐度:
标签: 创建 实现 示例
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top