Twitter Bootstrap无法在IE 8或IE 9中运行

时间:2013-04-05 15:47:13

标签: javascript internet-explorer twitter-bootstrap

我很困惑为什么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>

3 个答案:

答案 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>