今天早些时候问了这个问题,但我认为我过早地给出了正确的答案。我试图弄清楚如何在 Safari 中使用 jquery 获取锚元素的 css 长度和宽度。但是我一直返回“0”,并且有人告诉我这是因为在呈现 css 之前触发了 javascript - Webkit 浏览器的一个怪癖。
这是原始页面: http: //f1shw1ck.com/jquery_sandbox/csspops-orig.html
但是,我写了一个小测试,告诉 jquery 等到所有内容都完全呈现后再抓取 css。http://f1shw1ck.com/jquery_sandbox/csspops.html
对于选择器
a.popup {
width: 800px;
height: 560px;
}
和 html
<a href="http://www.metmuseum.org/toah/hd/apol/hd_apol.htm" class="popup">African Rock Art: Apollo 11 Cave Stone (c. 25,500 - 23,500 BCE); Wonderwerk Cave Stones (c. 8000 BCE)</a>
等到页面完全完成,然后获取这些尺寸:
$(document).ready(function () {
if (jQuery.browser.safari && document.readyState != "complete"){
//console.info('ready...');
setTimeout( arguments.callee, 5000 );
return;
}
alert($("a.popup").css("width"));
});
除了“0”仍然在 Safari 中返回。我是不是走错了路,还是有其他原因在起作用?
谢谢!