2

我正在使用 jQuery 在页面加载时动态填充一些级联下拉控件。但是,当页面加载时,我的三个选择框中只有两个被识别。

考虑以下 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 中打开此页面时,只呈现了两个选择框。这三个中只有两个出现在 DOM 中(使用 firebug 或类似工具),但所有三个都出现在源代码中。

我该怎么做才能显示所有控件?

4

2 回答 2

6

编写有效的、与 HTML 兼容的标记。

你的选择元素应该有明确的结束标签和至少一个选项元素。

<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>不是自闭合标签,它必须有一个闭合标签和至少一个optionoroptgroup元素。

<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 回答