我试图用另一个元素包装动态创建的一系列生成元素,例如:
var innerHtmlAsText = "<li>test1</li><li>test2</li>";
var wrapper = "<ul />";
$("div#target").append($(innerHtmlAsText).wrapAll(wrapper));
我的预期结果是
<ul>
<li>test1</li>
<li>test2</li>
</ul>
但实际结果是:
<li>test1</li>
<li>test2</li>
li
元素未换行。在我的实例中,innerHtml 是从用户生成的模板动态生成的,并且包装器是单独提供的。如何获取内部值?
最佳答案
wrapAll
返回原始 jQuery 对象,而不是新对象。所以,wrapAll
返回<li>
s,因为这是 wrapAll
的对象被召唤了。
试试这个:
$("div#target").append($(innerHtmlAsText).wrapAll(wrapper).parent());
关于jQuery wrapAll 的行为不符合预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11229100/