jQuery each()完成回调函数

jQuery each()完成回调函数,jquery,callback,each,Jquery,Callback,Each,我试图使用下面的each()函数扫描DOM中的所有样式表 这段代码工作正常,但我想让callback知道所有的Stylsheets都已被扫描,然后运行另一个函数。有可能做到这一点吗?创建一个对象数组: 然后将它们传递给并使用回调: $.when.apply(null, jqXHRs.get()).done( function() { // All done } ); 当您可以通过document.styleSheetsAPI查询每个样式表时,为什么还要通过AJAX第二次加载每个

我试图使用下面的each()函数扫描DOM中的所有样式表

这段代码工作正常,但我想让callback知道所有的Stylsheets都已被扫描,然后运行另一个函数。有可能做到这一点吗?

创建一个对象数组:

然后将它们传递给并使用回调:

$.when.apply(null, jqXHRs.get()).done(
  function() {
    // All done
  }
);

当您可以通过
document.styleSheets
API查询每个样式表时,为什么还要通过AJAX第二次加载每个样式表(它们已经在页面中加载了一次)

for (var i in document.styleSheets) {
    /* code here involving cssText or whatever */
}

因为这种方法将构成一个同步操作,所以您不需要回调-您只需将“回调”代码放在循环之后。

扫描样式表是什么意思?我正在使用cssText函数来查看css文件。您应该停止这样做!哇,比我要回答的可怕的问题好多了+1:)无论如何,这个答案应该得到更多的支持:我想这应该是在jQuery中执行这个特定任务的唯一(优雅的)方法。@João我可以问你为什么要通过
jqXHRs.get()
而不是
jqXHRs
?Fabrizio,我要提到这一点。它需要是jqXHRs,因为请求已经运行,传递jqXHRs将导致get请求再次运行。我正在访问iframe样式表。对,所以
framename.document.stylesheets
我的原始代码看起来像这样。我如何在您指定的API中调用我的代码?我的Javascript知识很差。下面是API:。另外,几个月前我写了一篇关于这方面的文章,让你一步一步地了解它,谢谢你提供的信息链接。我正在深入研究你的教程。
$.when.apply(null, jqXHRs.get()).done(
  function() {
    // All done
  }
);
for (var i in document.styleSheets) {
    /* code here involving cssText or whatever */
}