我很困惑为什么Twitter Bootstrap无法在Internet Explorer 8或9中运行。它在包括Safari,Firefox和Chrome在内的所有其他浏览器上运行良好。我一直在通过更高版本的Internet Explorer调试代码,我发现了这个错误:SCRIPT5009:'$'未定义。这是它指向的代码:
$('#myTab a').click(function (e) {
e.preventDefault();
$(this).tab('show');
})
它说它是第一行,第一个角色。它允许用户点击下拉菜单,但它混乱并且不可读。我使用标准的Bootstrap javascript文件。任何帮助将不胜感激,如果我应该提供更多代码,请告诉我。
以下是该页面的源代码:
<head>
<script>
jQuery('#myTab a').click(function (e) {
e.preventDefault();
jQuery(this).tab('show');
})
</script>
<script src="_internal/js/jquery.js" type="text/javascript" ></script>
<script src="http://platform.twitter.com/widgets.js" type="text/javascript" ></script>
<script src="_internal/js/bootstrap.js" type="text/javascript" ></script>
<script src="_internal/js/bootstrap-transition.js" type="text/javascript" ></script>
<script src="_internal/js/bootstrap.min.js" type="text/javascript" ></script>
<script src="_internal/js/bootstrap-tab.js" type="text/javascript" ></script>
<link href="_internal/css/bootstrap.css" rel="stylesheet" type="text/css" />
<link href="_internal/css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-parent="#accordion2" data-toggle="collapse"
href = "#collapseFive">
Title goes here
</a>
</div>
<div class="accordion-body collapse" id="collapseFive" style="height: 0px;">
<div class="accordion-inner">
<table cellpadding="15" summary="table">
<tbody cellpadding="4">
<tr class="table-row">
<td width="250">Text</td>
<td width="250">Text</td>
<td width="200">Text</td>
</tr>
<tr>
<td width="250"><a href="link" title="title">title</a></td>
<td width="250">text/td>
<td width="200">text</td>
</tr>
<tr>
<td width="250"><a href="link">title</a></td>
<td width="250">text</td>
<td width="200">text</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</body>
答案 0 :(得分:1)
使用jQuery()
代替$()
。我不知道为什么jQuery没有加载$()
选择器,但是前几天我遇到了这样的问题并将所有$()
选择器更改为jQuery()
修复了它。
答案 1 :(得分:1)
您可能在 包含jquery之前运行/声明此功能 。如果不将函数包装到document.ready()
中,则执行点上既不会定义$
也不会jQuery
。
人们经常忘记,当他们复制粘贴引导主页html或示例时,然后开始编写jquery-code,因为它们已经习惯了 - 因为jquery包含在<head>
中而不是{{1}之前}}
答案 2 :(得分:1)
这应该可以使事情发挥作用。
<script type="text/javascript">
$.noConflict(); //Case sensitive
</script>