2

ページの読み込み時に jQuery を使用して、いくつかのカスケード ドロップダウン コントロールを動的に設定しています。ただし、ページが読み込まれると、3 つの選択ボックスのうち 2 つだけが認識されます。

次の HTML を検討してください。

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html
 xmlns="http://www.w3.org/1999/xhtml"> <head>
     <title></title> </head> <body>
     <select id="one" />
     <select id="two"  />
     <select id="three"  /> </body> </html>

IE、Firefox、または Chrome でこのページを開くと、2 つの選択ボックスのみがレンダリングされます。(firebug などを使用して) DOM に表示されるのは 3 つのうち 2 つだけですが、ソースには 3 つすべてが表示されます。

すべてのコントロールを表示するにはどうすればよいですか?

4

2 に答える 2

6

有効なHTML互換のマークアップを記述します。

select 要素には、明示的な終了タグと少なくとも 1 つのオプション要素が必要です。

<select id="one"><option>foo</option></select>
<select id="two"><option>foo</option></select>
<select id="three"><option>foo</option></select>
于 2012-05-01T16:17:43.007 に答える
5

シンプル: 有効な HTML コードを記述します。ブラウザーは無効な HTML を解析するために最善を尽くしていますが、時には単にそれを詰まらせてしまうこともあります。

<select>は自己終了タグではありません。終了タグと少なくとも 1 つのoptionまたはoptgroup要素が必要です。

<select id="one"><option></option></select>
<select id="two"><option></option></select>
<select id="three"><option></option></select>

jsFiddle デモ

于 2012-05-01T16:17:23.757 に答える