Javascript 无法查找元素';手动加载CSS文件时的CSS属性

Javascript 无法查找元素';手动加载CSS文件时的CSS属性,javascript,jquery,css,Javascript,Jquery,Css,在使用以下代码加载页面后,我正在加载CSS样式表: $("head").append($("<link>", { rel: "stylesheet", href: 'http://cdn.sstatic.net/stackoverflow/all.css', type: "text/css" })); $(“head”).append($(“”){ rel:“样式表”, href

在使用以下代码加载页面后,我正在加载
CSS
样式表:

$("head").append($("<link>", {
    rel: "stylesheet",
    href: 'http://cdn.sstatic.net/stackoverflow/all.css',
    type: "text/css"
}));
$(“head”).append($(“”){
rel:“样式表”,
href:'http://cdn.sstatic.net/stackoverflow/all.css',
键入:“文本/css”
}));
虽然这样做很好(即新添加的样式表中包含类的元素被正确修饰),但我无法使用
jQuery
从该样式表查询
CSS
属性:

我如何(最好使用
jQuery
)查找元素的
CSS
属性,哪些类对应于页面加载后添加的CSS样式表?


PS:Firefox 14.0.1出现问题,但Chrome 21.0.1180.79出现问题。如果在“加载”处理程序中调用
console.log()
,则可以正常工作:

$("head").append($("<link>", {
    rel: "stylesheet",
    href: 'http://cdn.sstatic.net/stackoverflow/all.css',
    type: "text/css",
    load: function() {
      console.log($('#test1').css('color'));
      console.log($('#test2').css('color'));
      console.log($('#test3').css('color'));
      console.log($('#test4').css('color'));    
      }
  }));
$(“head”).append($(“”){
rel:“样式表”,
href:'http://cdn.sstatic.net/stackoverflow/all.css',
键入:“文本/css”,
加载:函数(){
log($('#test1').css('color'));
log($('#test2').css('color'));
log($('#test3').css('color'));
log($('#test4').css('color'));
}
}));

问题可能是由于在执行console.log时样式表未完全加载。与使用jquery将图像动态呈现到页面类似,样式表是一种外来资源,您需要考虑浏览器下拉并应用样式表所需的时间,然后才能执行利用样式表的代码

可以在此处找到解决此问题的更好方法(和解决方案):

样式表不会立即加载。您也无法以编程方式访问样式表规则,因为它来自不同的域。。。如果你想那样做的话,它确实有效。然而,我认为,
DOM
修改(即,当使用诸如
append
prepend
等方法时)在同步?DOM会立即修改,但必须进行HTTP事务来获取样式表。(即使缓存了,浏览器也可以异步处理。)这就像在文档中添加
标记一样。