2

FORM 要素の先頭に P 要素を追加すると、例の DIV の下の要素は選択されません!

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

$('#f INPUT').events上記の 2 番目の入力に対して IE では発生しません

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 の質問: Why <p> tag can't contain <div> tag inside it?

于 2012-11-28T01:20:39.547 に答える