js中字符串转为DOM对象和DOM对象转为字符串

1.在js中我们要动态的创建标准DOM对象一般使用:var obj= document.createElement('div');但是如果在ajax请求时返回的是一个带有标签的字符串,如:data:[["<span id="0">aaa</span>",'小明',‘28’]],这时获取到的data[0][0],是一个字符串,我们获取不到id。现在又一种方法可以解决:

1.1  js:

主要使用innerHTML,innerHTML: 动态的往一个元素中插内容时使用,

innerHTML不是w3c标准,是由ie发明创造出来的,但是由于这个属性的方便性,和当时微老大的地位,其它非ie浏览器也内置了innerHTML并给出了支持。

虽然innerHTML不是w3c标准,但是却是一个事实标准,这个事实标准很重要,也就是目前主流浏览器都支持innerHTML,自然就做到了兼容多浏览器。

 function parseDom(arg) {

   var objE = document.createElement("div");

   objE.innerHTML = arg;

   return objE.childNodes;

扫描二维码关注公众号,回复: 937474 查看本文章

};

我们首先用标准的方法创建一个div出来,在用innerHTML来插入一个元素,其实也就是利用浏览器自己的内核算法来实现的一个转换。在用childNodes返回出来。我们不用去解析字符串,而是交给浏览器自己来完成,这样既准确又无误。

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

1.2 jq

$(objE )就可以,可以$(item[0]).attr('id');

2.DOM转为字符串更加简单,可以使用三方类库来实现

jquery 中提供的有dom 转字符串的方法 var domStr= $("#").html();



猜你喜欢

转载自blog.csdn.net/weixin_38098192/article/details/80235280