怎么将dom转换为字符串
答案:4 悬赏:40
解决时间 2021-02-26 22:21
- 提问者网友:放荡不羁
- 2021-02-26 06:43
怎么将dom转换为字符串
最佳答案
- 二级知识专家网友:何以畏孤独
- 2021-02-26 07:56
在javascript里面动态创建标准dom对象一般使用:
var obj = document.createElement('div');
然后再给obj设置一些属性。
但是,在实际使用过程中,有些人可能会想,要是能这样创建标准的dom对象就好了
伪代码:var obj=strToDom('
那么今天的目的就是教大家怎么去实现一个这样的方法用来把字符串直接转换为标准的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('
var obj=parseDom('
注意:
childNodes返回的是一个类似数组的list。所以如果是一个元素,要使用这个dom需要这样使用obj[0]。如果是多个同级的dom转换,可以这样使用obj[0]、obj[1]…
dom 转字符串更简单,可以使用三方类库实现
jquery 中提供的有dom 转字符串的方法 var domStr= $("#").html();
转换原理大家可以参考一下源代码,估计应该是采用深度遍历的方式返回拼接字符串
end
到这里就结束了,在这里向大家推荐一个我自己写的js框架,上面的这个方法集成在框架里面了
使用:b$.parseDom('
var obj = document.createElement('div');
然后再给obj设置一些属性。
但是,在实际使用过程中,有些人可能会想,要是能这样创建标准的dom对象就好了
伪代码:var obj=strToDom('
Hello World!
');那么今天的目的就是教大家怎么去实现一个这样的方法用来把字符串直接转换为标准的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('
Hello World!
');var obj=parseDom('
Hello World!
多个也没关系');注意:
childNodes返回的是一个类似数组的list。所以如果是一个元素,要使用这个dom需要这样使用obj[0]。如果是多个同级的dom转换,可以这样使用obj[0]、obj[1]…
dom 转字符串更简单,可以使用三方类库实现
jquery 中提供的有dom 转字符串的方法 var domStr= $("#").html();
转换原理大家可以参考一下源代码,估计应该是采用深度遍历的方式返回拼接字符串
end
到这里就结束了,在这里向大家推荐一个我自己写的js框架,上面的这个方法集成在框架里面了
使用:b$.parseDom('
Hello World!
')全部回答
- 1楼网友:一场云烟
- 2021-02-26 11:21
const domStr = document.querySelector('xxx').outerHTML;
- 2楼网友:邪性洒脱
- 2021-02-26 09:58
可以使用eval()方法。 eval函数接收一个参数s,
- 3楼网友:零负荷的放任
- 2021-02-26 08:42
如何使用dom拼接xml字符串(标准方式) .
package com.my.test;
import org.dom4j.document;
import org.dom4j.documenthelper;
import org.dom4j.element;
public class xmlgroup {
public static string getrquestxml(string guid, string guidpwd)
{
document requestdoc = documenthelper.createdocument();
element root = requestdoc.addelement("message");
element headelement = root.addelement("head");
headelement.addelement("guid").addtext(guid);
element paramselement = root.addelement("body").addelement("params");
paramselement.addelement("pwd").addtext(guidpwd);
paramselement.addelement("callbackurl");
return root.asxml();
}
public string getrequestsearchemployeexml(string appid, string tag, string accounts)
{
document requestdoc = documenthelper.createdocument();
element root = requestdoc.addelement("message");
element headelement = root.addelement("head");
headelement.addelement("appid").addtext(appid);
headelement.addelement("tag").addtext(tag);
headelement.addelement("accounts").settext(accounts);
element paramselement = root.addelement("body").addelement("params");
paramselement.addelement("condition").settext(accounts);
paramselement.addelement("pagecount").settext("20");
paramselement.addelement("pagenum").settext("1");
return root.asxml();
}
public static void main(string agrs[])
{
//test
string xml=getrquestxml("zhangyi","123");
system.out.println(xml);
//test
string xml2=getrquestxml("mobile","ads324sdsa4sf3w");
system.out.println(xml2);
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯