JS:
var $sel = $("<select></select>");
$sel.append("<option>1</option");
var $sel = $sel.appendTo("<div></div>");
$sel.insertAfter("#mydiv");
HTML:
<div id=mydiv></div>
这只会附加选择框,但不包含在div中。我想将另一个div包含的select包含在#mydiv中。我试过了:
$sel.appendTo("<div></div>").insertAfter("#mydiv");
但这不起作用
答案 0 :(得分:3)
$sel
只是选择框,而不是包装它的东西。如果你也想要,你可以把它放在一个变量中:
var $div = $("<div></div>");
$div.append($sel).insertAfter("#mydiv");
当然还有十几种其他方法可以做到这一点,但这样可以保持一切美观和有条理。
答案 1 :(得分:2)
使用jQuery .wrap()。试试这个:
var $sel = $("<select></select>");
$sel.append("<option>1</option");
$sel.wrap("<div></div>").parent().insertAfter("#mydiv");
<强> DEMO 强>
答案 2 :(得分:1)
您的代码可以使用appendTo
,并且不需要使用wrap
,但是您插入了错误的元素,即select而不是包含select的div。您需要将$sel.parent()
与insertAfter()
<强> Live Demo 强>
var $sel = $("<select></select>");
$sel.append("<option>1</option");
var $sel = $sel.appendTo("<div></div>");
$sel.parent().insertAfter("#mydiv"); //Insert the parent of select instead of select.