Javascript 缺少wrapAll()回调?
我已经看到也有针对的回调,但我注意到没有针对的回调函数 这是否意味着操作以同步方式而不是异步方式进行 我这样做对吗Javascript 缺少wrapAll()回调?,javascript,jquery,asynchronous,Javascript,Jquery,Asynchronous,我已经看到也有针对的回调,但我注意到没有针对的回调函数 这是否意味着操作以同步方式而不是异步方式进行 我这样做对吗 $('.test').wrapAll('<div id="demo" />'); $('#demo').css('height', '100px'); //using the previous appended selector $('.test').wrapAll(''); $('#demo').css('height','100px')//使用前面附加的选择器
$('.test').wrapAll('<div id="demo" />');
$('#demo').css('height', '100px'); //using the previous appended selector
$('.test').wrapAll('');
$('#demo').css('height','100px')//使用前面附加的选择器
它似乎可以工作,但我不确定它在任何情况下是否会工作。您的代码可以工作,因为没有一个wrap函数是异步的。传递的函数仅仅是如果您想做一些比用单个dom对象包装元素更复杂的事情。下面的示例使用元素的文本作为类来创建div,而不仅仅是在文本周围环绕一个div:
$( ".inner" ).wrapInner(function() {
return "<div class='" + this.nodeValue + "'></div>";
});
$(“.inner”).wrapInner(函数(){
返回“”;
});
查看更多信息和示例:)我甚至不认为
wrap()
或wrapInner()
以异步方式工作。另外,您的示例是无用的,因为只有一个元素ID为demo
,但我认为这不是您的实际代码。这两个方法中的回调只是用来定义匹配元素集中每个元素的包装,而不是异步请求的回调。它们都是同步的。检查函数参数的用途,它不是异步回调。@Derija93不是我的实际代码,但这个示例很有意义。它用类test
包装所有元素,只有一个div
具有唯一iddemo
@Bergi这是否意味着,我可以在同一函数中的这一行中使用附加元素呢?@Alvaro对不起,你说得对。我曲解了文档。这是否意味着,我可以在同一函数的这一行中使用所附加的元素?我正在尝试创建一个插件的结构,我想知道在一开始包装东西是否能让我毫无问题地处理最终的结构。因为.wrap
,.wrapInner
,和wrapAll
都是同步函数,当你调用$('.test').wrapAll('')代码>,在wrapAll命令完全执行之前,不会发生任何其他情况。因此答案是肯定的,只要在同一函数的这一行中使用附加元素,就可以使用它们:)谢谢您的澄清:)