作者kaijajan (kj)
看板Ajax
标题[问题] 在ie中动态插入/删除 object tag 的 size
时间Thu Sep 16 14:45:55 2010
在ie里面我透过jquery去动态新增删除object的tag时碰到奇怪的状况
我新增一个object node的方式是用jquery的html()这只function将object的内容
挂到特定的node下
然後要删除的时候是用remove()的方式
但是当我用html()加入object tag之後
它的width跟height无论怎麽去设定
透过ie8的开发人员工具去观看插入後的结果得到的都是0
也就是即使有插入了也无法显示出来
但同样的状况在其它的browser中不会发生
後来我用css的方式加上给object tag一个class 的attr
.obj{width:100px !important;} <-- 类似这样的方式可以强制去让object tag
在插入之後的大小设定成功
但因为是用了 !important 参数 所以如果要动态去改size就变得有问题
想请教问题是出在什麽地方...为什麽ie8在预设的width跟height是0呢...
=
附一下简短的html code做为参考 @@~
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>plugin test</title>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<style type="text/css">
.obj {
width:200px !important; //
如果没加上!important
height:200px !important; //
object tag就不会显示出来
}
</style>
<script type="text/javascript">
$("
#obj-area-1").html("");
$("
#obj-area-2").html("");
function area1()
{
var obj = null;
$("#obj").remove();
obj = "<OBJECT classid='' width='200' height='200' id='o1' class='o1'
events='True'>";
obj += "</OBJECT>";
$("
#obj-area-1").html(obj);
}
function area2()
{
var obj = null;
$("#obj").remove();
obj = "<OBJECT classid='' width='200' height='200' id='o1' class='o1'
events='True'>";
obj += "</OBJECT>";
$("
#plugin-area-2").html(obj);
}
</script>
</head>
<body>
<div>
<div>obj-area-1</div>
<div id="obj-area-1">
</div>
</div>
<div>
<div>obj-area-2</div>
<div id="obj-area-2">
</div>
</div>
<input type="button" value="area 1" onclick="area1();">
<input type="button" value="area 2" onclick="area2();">
</body>
</html>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.250.145.25
2F:→ kaijajan:怪了...我在ie8上测试一直都有状况说...我再测测看好了 09/20 17:55
3F:→ kaijajan:感谢tonyq呀 ^^;; 09/20 17:55
4F:→ TonyQ:你用我给的环境测测看 如果还是有问题 09/20 23:29
5F:→ TonyQ:那可能是有其他我们环境不一样的地方。 如果我的可以你不行 09/20 23:29
6F:→ TonyQ:那可能你要多提供一些跟你程式码有关的环境出来 09/20 23:29