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;
};
我们首先用标准的方法创建一个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();
热门工具 换一换