好的,我正在请求它,我知道。请多多包涵。
我有一个嵌入在一些表格行标签之间的 <form> ,如下所示:
<table>
<tr>
<td>foo</td>
</tr>
<form>
<tr>
<td>bar</td>
</tr>
</form>
</table>
我知道这是表单标签的非法放置,但我尝试过的所有浏览器都会允许它。我无法控制此代码的设计,所以请多多包涵。
当我使用 JQuery 和 JQuery UI.Layout 插件加载此页面时(请参阅http://layout.jquery-dev.net/index.cfm),表格标记所包含的表格行不再呈现. 我假设因为表单本身没有任何显示属性,所以 JQuery 或 UI.Layout 插件会强制这些行继承缺乏显示的情况。
Firebug 将这些行显示为灰色并在表单标记下方缩进一级,这与我认为的(缺少)显示相对应。有趣的是,当我不使用任何 JQuery 内容时,Firebug 将这些行显示为未缩进,而是在与包含它们的表单标记相同的级别(当然它们没有变灰)——哦,我也只是注意到在这种情况下,Firebug 甚至根本没有显示结束表单标记。
我不确定是 JQuery、UI.Layout 插件还是我用 JavaScript 完成的东西导致了这种情况,我还在四处寻找,但这些库中有很多代码,所以我真的如果有人有任何指示,请感谢指点。
有没有办法防止这种情况发生,或者可能强制这些表格行进行一些显示?也许表单标签需要在其上放置一些显示属性,以便这些行继承它?
我是符合标准的代码的大力倡导者,但有时老板就是不听。因此,如果您只有这些,请保留“修复您的代码”注释。我很感激,但这不是我在这里要问的。