FF下面实现outerHTML

FF不支持outerHTML,要实现outerHTML还需要特殊处理

思路如下:

在页面中添加一个新的元素A,克隆一份需要获取outerHTML的元素,将这个元素append到新的A中,然后获取A的innerHTML就可以了。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>»ñÈ¡outerHMTL</title>
<style type="text/css">
div{ background:#0000FF;width:100px;height:100px;}
span{ background:#00FF00;width:100px;height:100px;}
p{ background:#FF0000;width:100px;height:100px;}
</style>
</head>
<body>
<div id="a"><span>SPAN</span>DIV</div>
<span>SPAN</span>
<p>P</p>
<script type="text/javascript">
function getOuterHTML(id) {
var el = document.getElementById(id);
var newNode = document.createElement("div");
document.body.appendChild(newNode);
var clone = el.cloneNode(true);
newNode.appendChild(clone);
alert(newNode.innerHTML);
document.body.removeChild(newNode);
}
window.onload = function () { getOuterHTML("a"); }
</script>
</body>
</html>

FF下面实现outerHTML

时间: 2024-08-09 02:21:16

FF下面实现outerHTML的相关文章

(转)Web前端开发面试题集锦(附答案)

1, 判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母.数字.下划线,总长度为5-20 var reg = /^[a-zA-Z][a-zA-Z_0-9]{4,19}$/; reg.test(“a1a__a1a__a1a__a1a__”); 2,截取字符串abcdefg的efg var str = “abcdefg”; if (/efg/.test(str)) { var efg = str.substr(str.indexOf(“efg”), 3); alert(efg); } 3,

Web前端相关知识(一)

1.判断字符串以字母开头,后面可以是数字,下划线,字母,长度为6-30 var reg=/^[a-zA-Z]{1}\w{6,30}$/; 2.请举例使用callee属性实现函数的递归使用 var sum=function(num){ if(num<=1){ return num; } else{ return arguments.callee(num-1)*num; } } console.log("10!=="+sum(10)); 3.Ajax同步和异步的区别,如何解决跨域问题

Javascript的IE跟Firefox(火狐)兼容性-转

Javascript的IE和Firefox(火狐)兼容性-转 em 问题(1)现有问题:现有代码中存在许多 documenem("itemName") 这样的语句,不能在Firefox(火狐)下运行(2)解决方法:改用 document.formName.elements["elementName"](3)其它参见 2 2. 集合类对象问题(1)现有问题:现有代码中许多集合类对象取用时使用 (),IE 能接受,Firefox(火狐)不能.(2)解决方法:改用 []

脚本的浏览器兼容性问题

1.window对象不要去掉 window.parent.location 2.firefox和ie内置的对象确实不一样,你用jquery吧这个是跨浏览器的,只需要 $("#yourID").parent()就直接可以得到了 很方便,而且jquery也比较小,只有几十k,现在浏览器这么多 不可能不用跨浏览器解决方案的. 楼主不是通过http协议访问的吧,通过file协议webkit核心(chrome和360极速模式)parent,opener不能互访,会报错 以下以 IE 代替 Int

[转载]页面优化——网页优化

前端是庞大的,包括HTML.CSS.Javascript.Image.Flash等等各种各样的资源.前端优化是复杂的,针对方方面面的资源都有不同的方式.那么,前端优化的目的是什么 1. 从用户角度而言,优化能够让页面加载得更快.对用户的操作响应得更及时,能够给用户提供更为友好的体验. 2. 从服务商角度而言,优化能够减少页面请求数.或者减小请求所占带宽,能够节省可观的资源. 总之,恰当的优化不仅能够改善站点的用户体验并且能够节省相当的资源利用. 前端优化的途径有很多,按粒度大致可以分为两类,第一

[转]关于Web前端开发,附:(百度web前端笔试面试题目)

关于Web前端及百度web前端笔试面试题目 随着各大互联网公司设立了Web前端开发工程师.设计工程师等职位,web前端越来越得到互联网企业的认可.而且其重视程度与地位也随着浏览器 端的富客户端的体现而日益提高. 眼前对HTML5的未来和走向,业内的预测是会和Flash.Silverlight等相结合,从而取代传统的客户端应用程序.而实现这个目标的客户端核 心工作是有Web前端工程师来完成的. 从另一个角度,对于web产品来说,交互和用户体验是产品的第一价值,这部分价值的体现就是在web前端.可以

web前端开发笔试集锦(javascript篇1)转

原文出处: http://hi.baidu.com/jinhui04/item/eaf40034fa00def597f88dbc 1, 判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母.数字.下划线,总长度为5-20 var reg = /^[a-zA-Z][a-zA-Z_0-9]{4,19}$/;reg.test("a1a__a1a__a1a__a1a__"); 2,截取字符串abcdefg的efg var str = "abcdefg";if (/e

前端开发面试题整理(JS篇)

以下都是网上整理出来的JS面试题,答案仅供参考. /2,截取字符串abcdefg的efg //alert('abcdefg'.substring(4)); //3,判断一个字符串中出现次数最多的字符,统计这个次数 /*var str = 'asdfssaaasasasasaa'; var json = {}; for (var i = 0; i < str.length; i++) {         if(!json[str.charAt(i)]){                 json[

js前端的各种面试题

转载:http://bbs.blueidea.com/thread-3107428-1-1.html 1.截取字符串abcdefg的efg //alert('abcdefg'.substring(4)); 2.判断一个字符串中出现次数最多的字符,统计这个次数 /*var str = 'asdfssaaasasasasaa'; var json = {}; for (var i = 0; i < str.length; i++) { if(!json[str.charAt(i)]){ json[s