创建<;选择>;使用javascript DOM document.createElement在新行上创建表单

创建<;选择>;使用javascript DOM document.createElement在新行上创建表单,javascript,html,createelement,Javascript,Html,Createelement,当我点击按钮时,我需要使用javascript和document.createElement在新行上创建表单。 当我这样做时,它会在同一行上不断创建新表单 为了更好地解释这个问题,我将给您一个到jsfiddle.net的链接 function myFunction() { var select = document.createElement("select"); document.getElementById("list").appendChild(select); } 您正在直

当我点击按钮时,我需要使用javascript和document.createElement在新行上创建表单。 当我这样做时,它会在同一行上不断创建新表单

为了更好地解释这个问题,我将给您一个到jsfiddle.net的链接

function myFunction() {
   var select = document.createElement("select");
   document.getElementById("list").appendChild(select);
}

您正在直接添加没有li标记的select标记。无效。 正确的方法是使用li标签

阅读UL标签的标准

也读一下这个

默认情况下,li标记从新行开始。 所以结构应该是

<ul id="list">
     <li><select></select></li>
     <li><select></select></li>
     <li><select></select></li>
</ul>

是否要在li标记中添加选择标记?像这样,我需要在新行上发送表单,而不是在同一行上。如果将select放入li,然后选择新行中可见的标记。这是默认的li行为最好的解决方案是@Omarjmh提供的解决方案,因此我可以选择样式。答案是肯定的。但是有标准。请参阅。ul标签中允许的内容:
零个或多个
  • 元素
  • 。这是正确答案
    function myFunction() {
        var select = document.createElement("select");
        var li = document.createElement("li");
        li.appendChild(select);
        document.getElementById("list").appendChild(li);
    }