IE中createElement需要注意的一个小问题

7 篇文章 0 订阅
5 篇文章 0 订阅

在iframe中,创建一个元素,然后添加到父页面中在ie6,ie7中行不通,而firefox和IE8可以

如果你想在IE6,IE7中创建一个父页面元素,那么你必须使创建元素属于父页面。

在Firefox,IE8中,它允许在一个文档中创建要追加到另一个文档的元素。

所以在Firefox,IE8中,可以使用parent.document也可以使用document。

page1页面代码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IE中createElement需要注意的一个小问题</title>
</head>
<body>
<body style="background:#0a0;">
<iframe id="TheFrame"
	style="width:100%; height:140px;background:#fff;" 
	frameborder="1" src="page3.html">
</iframe>
<iframe id="TheFrame" 
	style="width:100%; height:140px;background:#fff;
	"frameborder="1" src="page2.html">
</iframe>
</body>
</html>

 page2页面代码

 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
.a {
	width: 200px;
	height: 20px;
	background: #00a;
	cursor: pointer;
	text-align: center;
	color: #fff;
	margin: 10px 0;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
function clickHandler1(){ 
	var $alertPanel = $( document.createElement("div")  );
	$alertPanel.css("width","120px").css("height","50px")
	.css("border","solid 1px #000000").text("Hello CssRain!");
	$('body',parent.document).append($alertPanel);
}
function clickHandler2(){ 
	var $alertPanel = $( parent.document.createElement("div")  );
	$alertPanel.css("width","120px").css("height","50px")
	.css("border","solid 1px #000000").text("Hello CssRain!");
	$('body',parent.document).append($alertPanel);
}
</script>
</head>
<body>
<h3>这里是jQuery方法操作</h3>

<div class="a" οnclick="clickHandler1()">请点击我(error)</div>
<div class="a" οnclick="clickHandler2()">请点击我(success)</div>
</body>
</html>

 page3页面代码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
.a {
	width: 200px;
	height: 20px;
	background: #00a;
	cursor: pointer;
	text-align: center;
	color: #fff;
	margin: 10px 0;
}
</style>
<script language="javascript" type="text/javascript">
function clickHandler1(){  
	 var div = document.createElement("div");
	 div.style.width = "120px"; 
	 div.style.height = "50px";
	 div.style.border = "solid 1px #000000";
	 div.innerHTML = "Hello CssRain!";
	 parent.document.body.appendChild(div);
}
function clickHandler2(){  
	 var div = parent.document.createElement("div");
	 div.style.width = "120px"; 
	 div.style.height = "50px";
	 div.style.border = "solid 1px #000000";
	 div.innerHTML = "Hello CssRain!";
	 parent.document.body.appendChild(div);
}
</script>
</head>
<body>
<h3>这里是原生的DOM方法操作</h3>
<div class="a" οnclick="clickHandler1()">请点击我(error)</div>

<div class="a" οnclick="clickHandler2()">请点击我(success)</div>
</body>
</html>

 转载:www.cssrain.cn/?p=1376

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值