JS编辑器获取选择内容的HTML多浏览器兼容性写法
2012-05-12 17:11:20 来源:WEB开发网核心提示:解决问题步骤七:创新思维:无招剩有招,没有现成的,JS编辑器获取选择内容的HTML多浏览器兼容性写法(7),不要怕麻烦,一切从头组装 在发挥不怕麻烦的精神下,{result+=node.nodeValue;}else if(node.tagName){result+="<"+node.tagN
解决问题步骤七:创新思维:无招剩有招,没有现成的,不要怕麻烦,一切从头组装
在发挥不怕麻烦的精神下,自己重新组合节点的outerHTML,再把所有节点的outerHTML拼接起来。
function GetFireFoxInnerHTML(nodes)
{
var result='';
var node;
for (var i = 0; i < nodes.length; i++)
{
node=nodes[i];
if(node.nodeValue)
//纯文本节点还原。
{
result+=node.nodeValue;
}
else if(node.tagName)
{
result+="<"+node.tagName;
if(node.innerHTML)
{
//属性还原。
if(node.attributes && node.attributes.length>1)
{
for(var j=0;j<node.attributes.length-1;j++) // 忽略最后一个,最后一个是FirFox自己的节点。
{
result+=' '+node.attributes[j].name+"='"+node.attributes[j].value+"'";
}
}
result+=">"+node.innerHTML+"</"+node.tagName+">";
}
else
{
result+=" />";
}
}
}
return result;
{
var result='';
var node;
for (var i = 0; i < nodes.length; i++)
{
node=nodes[i];
if(node.nodeValue)
{
result+=node.nodeValue;
}
else if(node.tagName)
{
result+="<"+node.tagName;
if(node.innerHTML)
{
//属性还原。
if(node.attributes && node.attributes.length>1)
{
for(var j=0;j<node.attributes.length-1;j++) // 忽略最后一个,最后一个是FirFox自己的节点。
{
result+=' '+node.attributes[j].name+"='"+node.attributes[j].value+"'";
}
}
result+=">"+node.innerHTML+"</"+node.tagName+">";
}
else
{
result+=" />";
}
}
}
return result;
}
更多精彩
赞助商链接