缺少wrapAll()回调?

时间:2013-09-18 16:06:08

标签: javascript jquery asynchronous

我已经看到wrap()也有wrapInner()的回调,但我注意到wrapAll没有回调函数。

这是否意味着操作是以同步方式而不是异步方式进行的?

如果我做这样的事情会是正确的吗?

$('.test').wrapAll('<div id="demo" />');
$('#demo').css('height', '100px');   //using the previous appended selector

它似乎有效,但我不确定它是否适合任何场合。

1 个答案:

答案 0 :(得分:3)

您的代码将起作用,因为没有任何wrap函数是异步的。您传递的函数仅仅是您想要执行比使用单个dom对象包装元素更复杂的操作。下面的示例使用元素的文本作为类创建div,而不是仅仅在文本周围包装div:

$( ".inner" ).wrapInner(function() {
  return "<div class='" + this.nodeValue + "'></div>";
});

查看docs for wrapInner了解更多信息和示例:)