【发布时间】:2011-07-04 12:00:40
【问题描述】:
这真的很简单。我有以下代码.. 它适用于所有其他 html5 兼容浏览器(Safari 5、Chrome 9、FireFox),但在 IE9 (RC) 中出现以下错误。
jquery.min.js
行:16 错误:对象不支持属性或方法“getElementsByTagName”
jquery-ui.min.js
行:40 错误:对象不支持属性或方法“选项卡”
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function () {
$("#ribbon").tabs();
});
</script>
</head>
<body>
<header>
<span id="branding"></span>
<div id="ribbon-navigation">
<div id="ribbon">
<ul>
<li><a href="#ribbon-1">1</a></li>
<li><a href="#ribbon-2">2</a></li>
<li><a href="#ribbon-3">3</a></li>
<li><a href="#ribbon-4">4</a></li>
</ul>
<div id="ribbon-1" class="ribbon-strip">
@Html.Partial("Menus/Ribbons/__H1")
</div>
<div id="ribbon-2" class="ribbon-strip">
@Html.Partial("Menus/Ribbons/__2")
</div>
<div id="ribbon-3" class="ribbon-strip">
@Html.Partial("Menus/Ribbons/__3")
</div>
<div id="ribbon-4" class="ribbon-strip">
@Html.Partial("Menus/Ribbons/__4")
</div>
</div>
</div>
</header>
</body>
</html>
如果我的 CSS 没有产生正确的样式,我可以理解 - 但看起来它完全忽略了$("#ribbon").tabs();。有什么想法吗?
【问题讨论】:
-
你能用非缩小的库运行它吗,让我们知道错误的行号是什么?
-
根据 endophage 在下面的回答 - 您的构造正在执行 javascript 代码,此时页面的其余部分已加载且
<div id="ribbon">尚未被解析。使用ready()函数将“暂停”您的脚本,直到页面的 DOM 完成构建。 -
其实我已经发现了错误。进一步挖掘产生了更多富有成效的结果...bugs.jquery.com/ticket/8052 - 这显然是 IE 中的一个错误,并在 昨天 出现的 jQuery 更新中得到了修复!我不得不参考 jQuery 1.5.1,一切都很好。
-
我该怎么办?我回答了我自己的问题,但其他人可能会觉得这很有用。如何适当地结束问题?只需点击
close按钮? -
@Marc B:OP 是使用
.ready()方法。做$(function(){...})是它的捷径。
标签: jquery jquery-ui html internet-explorer-9