簡體   English   中英

Internet Explorer和jQuery問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM