一个包含div的html片段,其中包含一个包含表的表单:
<!DOCTYPE html>
<html> <!-- xmlns="http://www.w3.org/1999/xhtml" lang="en" -->
<head>
<style type="text/css">
#content{position:relative}
table {border-color:#999;border-style:solid}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body>
<button onclick="javascript:$('.content-panel').toggle();">Toggle</button>
<div id="content">
<div class="content-panel">
<form action='' method='post'>
<select>
<option>a </option>
</select>
<table>
<tr><td>ABCDEF</td></tr>
</table>
</form>
</div>
</div>
</body>
</html>切换按钮应该隐藏窗体及其嵌套表,但在IE8下不会这样做。(版本8.0.60001)表单内容被隐藏,但表格边框继续显示,并保持其大小不变。它与标准模式相关;它在quirks-mode中消失。
有谁有解决这个问题的办法吗?
这个示例页面在我所能减少的范围内被减少了。如果我删除select或其中任何一个div,问题就会消失。select必须存在,并且表需要嵌套在表单中,因为它将包含表单元素。
该页面本身位于:http://dev.rdbhost.com/rdbadmin/mainProbDemo.html
我之前用一个过于简单的例子发布了这个问题,这个例子是不可重现的。如果你当时看过了,谢谢。
发布于 2010-06-12 19:03:41
如果仅仅隐藏不起作用,http://api.jquery.com/detach/可能会对你起作用-它会从dom中删除元素,但保存它,以便您可以在需要时重新插入它(使用http://api.jquery.com/append/或http://api.jquery.com/appendTo/)。您还可以尝试将可见性css属性$(".content-panel").css("visibility","hidden");设置为附加度量(请注意,这将意味着元素仍然占用空间,另请参阅http://www.w3schools.com/css/pr_class_visibility.asp) (编辑:使用$(".content-panel").css("visibility","visible");还原)。最后但并非最不重要的一点是,你永远不会知道--也许只是使用show(0);和hide(0);就行了,而toggle在某种程度上是借来的--不太可能,然后我猜墨菲也适用于这种情况。
发布于 2010-06-11 03:46:45
为什么onclick处理程序中有javascript: schema声明?
<button onclick="$('.content-panel').toggle();">Toggle</button>发布于 2010-06-17 22:58:38
用额外的表包装整个表单元素可以吗?如下所示:
<!DOCTYPE html>
<html> <!-- xmlns="http://www.w3.org/1999/xhtml" lang="en" -->
<head>
<style type="text/css">
#content{position:relative}
.inner {border-color:#999;border-style:solid}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body>
<button type="button" onclick="javascript:$('.content-panel').toggle();">Toggle</button>
<div id="content">
<div class="content-panel">
<form action='' method='post'>
<table>
<tr>
<td>
<select>
<option>a </option>
</select>
</td>
</tr>
<tr>
<td>
<table class="inner">
<tr><td>ABCDEF</td></tr>
</table>
</td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>或者只是将表单下的所有元素添加到您拥有的表中:
<form action='' method='post'>
<table>
<tr>
<td>
<select>
<option>a </option>
</select>
</td>
</tr>
<tr>
<td>
ABCDEF
</td>
</tr>
</table>
</form>https://stackoverflow.com/questions/2734780
复制相似问题