jQuery wrap对Input不起作用

时间:2015-06-23 06:33:01

标签: javascript jquery

我遇到了这个问题,我想做下面的事情

$("<input type='text'/>").wrap("<div></div>");

期待

<div>
 <input type='text'/>
</div>

但它没有用Div包装输入,它只给出了 <input type='text/>

除非我尝试相反的方式。

$("<div></div>").append("<input type='text'/>");

任何人都可以解释?我必须只使用附加方式来实现我需要做的事情吗?

2 个答案:

答案 0 :(得分:2)

.wrap完全符合预期:

console.log($("<input type='text'/>").wrap("<div></div>").parent());

您似乎期望它会返回一个包含父级的新集合(这是合理的),但事实并非如此。它返回原始元素集。

答案 1 :(得分:-1)

这是错误的

$("`<input type='text'/>`").wrap("<div></div>")

你应该试试

$('[type=text]').wrap("<div></div>");

你应该使用选择器而不是元素。