【发布时间】:2011-03-27 23:49:52
【问题描述】:
我正在尝试仅使用原始 jQuery v1.5.1(以下脚本)构建一个基本的调整大小脚本。由于某种原因,它会引发以下错误并且不会继续运行脚本。
正在使用 Chrome、Mac OSX 进行测试
错误
Uncaught TypeError: Cannot read property 'defaultView' of undefined
代码:
$(document).ready( function() {
/* Set initial #site width */
stretch_portal_content();
$(window).resize( stretch_portal_content );
});
function stretch_portal_content() {
alert($('#site').width());
$('#left-container').width(
$('#site').width()-150
);
if ($(window).height() > $('body').innerHeight()){
$('#site').height(
$(window).innerHeight()
);
}
}
示例 HTML
<!DOCTYPE html5>
<html>
<head>
<title></title>
<link media="screen" rel="stylesheet" href="style.css" />
</head>
<body>
<div id="site">
<div id="left-container">
<div class="inner">
<ul id="grid">
<li>Story 1</li>
<li>Story 2</li>
<li>Story 3</li>
<li>Story 4</li>
<li>Story 5</li>
</ul>
</div>
</div>
<div id="right-container">
<ul id="category-list">
<li><a href="#">Category 1</a></li>
<li><a href="#">Category 2</a></li>
<li><a href="#">Category 3</a></li>
<li><a href="#">Category 4</a></li>
<li><a href="#">Category 5</a></li>
<li><a href="#">Category 6</a></li>
<li><a href="#">Category 7</a></li>
</ul>
</div>
<div class="clear"></div>
</div>
<script type="text/javascript" src="javascript/jquery.js"></script>
<script type="text/javascript" src="javascript/core.js"></script>
</body>
</html>
【问题讨论】:
-
您能否添加示例 HTML 以便我们对其进行测试?还有什么浏览器会出现这个错误?
-
我已经确定它在第一次运行代码运行时低于或包含“if”语句。
-
好吧,我知道这不是最好的表达方式。那么没有插件的jQuery呢?
-
您的 HTML 没有
</html>。 -
你不应该像那样放弃
{。它不仅丑陋,而且不是标准的 Javascript,也没有得到普遍支持(据我所知)。
标签: javascript jquery