[英]Internet Explorer and jQuery issues
我有一個可在Firefox,Safari和Chrome中運行的腳本。 無論出於何種原因,它都無法在Internet Explorer中運行。 代碼很簡單:
<script type="text/javascript">
(function( $ ){
$.fn.tabSwap = function() {
return this.each(function() {
$('.current').removeClass('current');
$(this).addClass('current');
});
};
})( jQuery );
</script>
在相當簡化的頁面上 (由Roatin Marth發布),該代碼在IE 6和IE 8中都可以正常工作。在我的網頁上,該代碼在Internet Explorer中根本無法正常工作。
我嘗試執行以下簡單代碼:
<script type="text/javascript">
$('#statistics').tabSwap();
</script>
我收到以下錯誤:
對象不支持此屬性或方法
index.html行:77
代碼:0字符:2
URI:...
我網頁的鏈接是:
http://examples.chikachu.com/calculators
任何想法有什么問題嗎?
答案由Crescent Fresh發布,但他沒有將其發布為答案,所以我可以接受。 我網站上的問題是用於包含jQuery框架的<script>
標簽的不正確關閉。
更具體地說, 這個問題。
作為您在頂部列出的JS的替代品,請嘗試以下操作:
<script type="text/javascript">
jQuery.fn.tabSwap = function() {
return this.each(function() {
$('.current').removeClass('current');
$(this).addClass('current');
});
};
$(document).ready(function() {
$('#tabTwo').tabSwap();
});
</script>
當您在IE中調用插件時,您的插件未實例化-嘗試將對插件的調用包裝在$()
,以確保DOM准備就緒(從理論上講,這意味着您的插件已下載並解析了[因此已在jQuery中注冊。])
所以改變:
<script type="text/javascript">
$('#tabTwo').tabSwap();
</script>
至
<script type="text/javascript">
$(function() {
$('#tabTwo').tabSwap();
});
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.