Javascript 在先前动态创建的另一个div中追加动态div
我试图在另一个div中添加一个div,这两个div都是动态创建的。我真的不确定为什么它不在newDiv中添加它 出于各种目的,这个jQuery正在处理这个HTML片段Javascript 在先前动态创建的另一个div中追加动态div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图在另一个div中添加一个div,这两个div都是动态创建的。我真的不确定为什么它不在newDiv中添加它 出于各种目的,这个jQuery正在处理这个HTML片段 <select id="test" class="dropdown"> <option value="something1">Something 1</option> <option value="something2">Something 2</option&
<select id="test" class="dropdown">
<option value="something1">Something 1</option>
<option value="something2">Something 2</option>
<option value="something3">Something 3</option>
</select>
进一步澄清:
<script>
$(document).ready(function(){
$(".dropdown").dropdown();
});
</script>
不幸的是,newDiv.addchild不起作用,我也尝试了newDiv.appendchild,但也失败了。您需要使用原始元素的方法:
您不能使用newDiv追加新元素的原因从以下文档中显而易见:
此结构的副本将环绕匹配元素集中的每个元素
因此,wrapping元素不再是原始元素,它是原始元素的副本,并且不代表原始节点。编辑:结果是,OP试图创建无效的HTML结构,在div标记内包装选项标记或其他任何内容,所以让我们关闭此操作 不要创建与现有div具有相同id的div,并像下面这样包装它们:original.wrapnewDiv;在此之前删除id 第二,您使用的是add函数,它不是您想要的,而是使用append: newDiv.appendchild
add函数通过子函数扩展jquery对象newDiv。append将元素移动到DOM中的其他元素中。它不起作用,因为在original.wrapnewDiv;您的div具有相同的ID,这是禁止的、虚假的,而且非常邪恶,请尝试var child=$;但这就是我删除该属性的原因。这和它不起作用有什么关系?我猜你是在试图创建无效的html,select标记可能只有optgroup或option标记,正如childrenI所说的。。。我尝试使用append方法,但失败了。是否可以使用var child=$?原始元素有子元素吗?因为您将新的div包装在原始divyep的周围,这是错误的,请阅读一些关于有效html的内容selects@Majed你到底为什么要这么做?啊。那就有道理了!胡萨!你真是天赐之物。谢谢你帮了我的忙!它奏效了:
<script>
$(document).ready(function(){
$(".dropdown").dropdown();
});
</script>
var child = $("<div class='dropDownJsChild' />");
original.after(child);