我已经看到wrap()
也有wrapInner()
的回调,但我注意到wrapAll
没有回调函数。
这是否意味着操作是以同步方式而不是异步方式进行的?
如果我做这样的事情会是正确的吗?
$('.test').wrapAll('<div id="demo" />');
$('#demo').css('height', '100px'); //using the previous appended selector
它似乎有效,但我不确定它是否适合任何场合。
答案 0 :(得分:3)
您的代码将起作用,因为没有任何wrap函数是异步的。您传递的函数仅仅是您想要执行比使用单个dom对象包装元素更复杂的操作。下面的示例使用元素的文本作为类创建div,而不是仅仅在文本周围包装div:
$( ".inner" ).wrapInner(function() {
return "<div class='" + this.nodeValue + "'></div>";
});
查看docs for wrapInner了解更多信息和示例:)