Javascript jQuery wrap不适用于输入
我有一个问题,我想做下面的事情Javascript jQuery wrap不适用于输入,javascript,jquery,Javascript,Jquery,我有一个问题,我想做下面的事情 $("<input type='text'/>").wrap("<div></div>"); $(“”)。换行(“”); 期待 <div> <input type='text'/> </div> 但是它没有用Div包装输入,它只提供了 这是错误的 $("`<input type='text'/>`").wrap("<div></div>") $
$("<input type='text'/>").wrap("<div></div>");
$(“”)。换行(“”);
期待
<div>
<input type='text'/>
</div>
但是它没有用Div包装输入,它只提供了
这是错误的
$("`<input type='text'/>`").wrap("<div></div>")
$(“``”)换行(“”)
你应该试试
$('[type=text]').wrap("<div></div>");
$('[type=text]')。换行(“”);
您应该使用选择器not元素。
.wrap
完全按照它应该执行的操作:
console.log($("<input type='text'/>").wrap("<div></div>").parent());
console.log($(“”).wrap(“”.parent());
您似乎期望它返回一个包含父对象的新集合(这是合理的),但事实并非如此。它返回原始的元素集。这两个代码段做了不同的事情。我在回答中是否说错了什么?谢谢你的建议,我打赌我会坚持使用append方法。你完全改变了代码的行为。是什么让您认为OP想要选择文档中的现有元素?您还声称
$(“”)wrap(“”)是错误的,但没有解释原因。但是他们希望包装文档中不存在的元素。选择器找不到文档中没有的元素。此外,问题是为什么.wrap
会有这样的行为,对此您没有给出答案。
console.log($("<input type='text'/>").wrap("<div></div>").parent());