Javascript Twitter引导在IE 8或IE 9中不起作用

Javascript Twitter引导在IE 8或IE 9中不起作用,javascript,internet-explorer,twitter-bootstrap,Javascript,Internet Explorer,Twitter Bootstrap,我很困惑为什么Twitter引导程序在InternetExplorer8或9中不起作用。它在包括Safari、Firefox和Chrome在内的所有其他浏览器上都运行良好。我一直在通过Internet Explorer的更高版本调试代码,发现以下错误:SCRIPT5009:“$”未定义。以下是它指向的代码: $('#myTab a').click(function (e) { e.preventDefault(); $(this).tab('show'); }) 它说这是第一行,第一个字符。它

我很困惑为什么Twitter引导程序在InternetExplorer8或9中不起作用。它在包括Safari、Firefox和Chrome在内的所有其他浏览器上都运行良好。我一直在通过Internet Explorer的更高版本调试代码,发现以下错误:SCRIPT5009:“$”未定义。以下是它指向的代码:

$('#myTab a').click(function (e) {
e.preventDefault();
$(this).tab('show');
})
它说这是第一行,第一个字符。它允许用户单击下拉列表,但它混乱且不可读。我使用的是标准的引导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>

jQuery(“#myTab a”)。单击(函数(e){
e、 预防默认值();
jQuery(this.tab('show');
})
正文
正文
正文
text/td>
文本
文本
文本

使用
jQuery()
而不是
$()
。我不知道为什么jQuery没有加载
$()
选择器,但前几天我遇到了类似的问题,并将所有
$()
选择器更改为
jQuery()
修复了它。

您可能在包含jQuery之前运行/声明了这个函数。如果不将函数包装到
document.ready()
,则在执行点既不定义
$
也不定义
jQuery


人们常常忘记,当他们复制粘贴引导程序主页html或示例,然后开始编写jquery代码时,就像他们习惯的那样-因为jquery包含在
中,而不是在
之前,这应该会使事情顺利进行

<script type="text/javascript">
 $.noConflict(); //Case sensitive
</script>

$.noConflict()//区分大小写

尝试使用
jQuery
而不是我回答的
$
,您尝试在实际包含jQuery之前使用它。这就是答案,请将函数移到下方或上方。谢谢您的回复。我在这篇文章中发布了很多源代码。我知道你在说什么,但看起来我把jQuery包含在了。如果我没有,请让我知道。Thanks@Chase552,是的,但是您在jQuery包含之前声明了您的函数,该函数将立即执行。因此,页面在执行时不知道
$
jQuery
。感谢您的回复。我试着按照你的建议去做,但没什么不同。我将大部分源代码发布到帖子中,试图了解问题所在。感谢您可以尝试使用IFFE正确设置$.$当您使用它时,可能会被另一个库(如Prototype Javascript库)持有。如果这是真的,IFFE会有所帮助。