2

如果您在 FORM 元素前加上 P 元素,则示例中 DIV 下方的元素将不会被选中!

<P><FORM id=f ...
<INPUT ...>
<DIV><INPUT (this element is not selectable)
</DIV>
</FORM>

上面的第二个输入在 IE 中不会$('#f INPUT').events发生 在以下位置尝试测试用例:http: //jsfiddle.net/jorese/Bzc7M/

在 IE 中,您将收到 alert=3,删除 FORM 元素前面的 P 元素,您将获得预期的 alert=5。在 Chrome|FF 中,您会得到 alert=5 的预期。

有人可以解释一下吗?

4

1 回答 1

1

您的 HTML 代码无效,它包含一些错误,某些浏览器呈现它的原因是它们通过尝试猜测开发人员最初想要编写的内容来在一定程度上容忍无效代码。

div元素可用于将几乎任何元素组合在一起。事实上,它几乎可以包含任何其他元素,不像p它只能包含内联元素

改用div:http: //jsfiddle.net/mshMX/

站点参考:http ://reference.sitepoint.com/html/p

W3 参考http://www.w3.org/TR/html4/sgml/dtd.html

一个关于同一问题的前 StackOverflow 问题:为什么 <p> 标签不能在其中包含 <div> 标签?

于 2012-11-28T01:20:39.547 回答