js 怎样返回当前节点的HTML呢 不是innerHTML.<div id="a"><div id="b"></div></div> 返回全部,不是

<divid="b"></div>谢谢!这个貌似不支持火狐呢。... <div id="b"></div> 谢谢!
这个貌似不支持火狐呢。
展开
 我来答
依土天羽
2011-04-21 · TA获得超过289个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:402万
展开全部
var s = document.getElementById("a");
var _s = s.cloneNode(true);
var _p = document.createElement("div");
_p.appendChild(_s);
alert(_p.innerHTML);
注意高温
2011-04-21 · TA获得超过509个赞
知道小有建树答主
回答量:581
采纳率:75%
帮助的人:224万
展开全部
你要返回全部字符串就:outerHTML
追问
这个貌似不支持火狐啊。
追答
网上抄个解决方案:

String.prototype.trim = function(){
var str = this,ws = /\s/;
str = str.replace(/^\s+/, '');
var i = str.length;
while (ws.test(str.charAt(--i)));
return str.slice(0, i + 1);
}
String.prototype.quote = function () {
var c, i, l = this.length, o = '"';
for (i = 0; i = ' ') {
if (c === '\\' || c === '"') {
o += '\\';
}
o += c;
} else {
switch (c) {
case '\b':
o += '\\b';
break;
case '\f':
o += '\\f';
break;
case '\n':
o += '\\n';
break;
case '\r':
o += '\\r';
break;
case '\t':
o += '\\t';
break;
default:
c = c.charCodeAt();
o += '\\u00' + Math.floor(c / 16).toString(16) +
(c % 16).toString(16);
}
}
}
return o + '"';
}
if(document.documentElement.__defineGetter__){
HTMLElement.prototype.__defineGetter__("currentStyle", function () {
return this.ownerDocument.defaultView.getComputedStyle(this, null);
});
}
var rselfClosing = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i;
var outerHTML = function(el,recursion){
switch(el.nodeType+""){
case "1":
var array = [];
var nodeName = el.nodeName;
if(recursion && el.currentStyle.display == "block"){
array.push("\n")
}
array.push("")
}else{
array.push(">");
for(var i=0,c;c=el.childNodes[i++];){
array.push(outerHTML(c,true))
}
array.push("")
}
return array.join("");
case "3":
return el.nodeValue.trim();
case "8":
return "innerHTML" in el? el.innerHTML : ""
}
}
var innerHTML = function(el){
var array = [];
for(var i=0,c;c=el.childNodes[i++];){
array.push(outerHTML(c,true))
}
return array.join("");
}

其实简单点可以用jquery
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式