我曾经可以获得
$('[data-role=header]').first().height()
在使用jQuery 1.5.2版本时可以正常运行,但在使用jQuery 1.6.1版本的beta版时无法运行。是否有什么变化?
完整代码 - 这将向console.log写入0...
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
<script type="text/javascript"
src="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
console.log($('[data-role=header]').first().height());
});
</script>
</head>
<body>
<div data-role="page" id="home">
<div data-role="header">
<h1>Header</h1>
</div>
<div data-role="content">
//lots of code
</div>
</div>
</body>
</html>
但是,将其更改为jQuery 1.5.2和jQuery Mobile alpha:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.js"></script>
同时,它写入了标题div的非零高度。
顺便说一下,即使没有jQuery Mobile,使用jQuery 1.6.1时它也是非零的。因此,这与jQuery Mobile的渲染有关。
在发布说明中没有发现任何暗示可能发生了什么,但我不是jQuery专家。