2011-05-06 48 views
1

我最近解決了一個jQuery的問題,我通過切換所有的「$」在我的代碼爲「jQuery的」

我想使用此代碼:

var $items = $('#vtab>ul>li'); 
$items.mouseover(function() { 
    $items.removeClass('selected'); 
    $(this).addClass('selected'); 

    var index = $items.index($(this)); 
    $('#vtab>div').hide().eq(index).show(); 
}).eq(1).mouseover(); 

但我不知道如何更改$ items的$ items。它是否像jQuery.items一樣簡單?這是甚至jQuery代碼?我很困惑。

感謝, Zeem

回答

4

$items並不需要改變。 jQuery的變量(通常)只是$,而$items是它自己的變量名稱。

所以,你的代碼將變成:

var $items = jQuery('#vtab>ul>li'); 
$items.mouseover(function() { 
    $items.removeClass('selected'); 
    jQuery(this).addClass('selected'); 

    var index = $items.index(jQuery(this)); 
    jQuery('#vtab>div').hide().eq(index).show(); 
}).eq(1).mouseover(); 

編輯 你也可以使用一個self-invoking function像這樣:

(function($){ 
    var $items = $('#vtab>ul>li'); 
    $items.mouseover(function() { 
     $items.removeClass('selected'); 
     $(this).addClass('selected'); 

     var index = $items.index($(this)); 
     $('#vtab>div').hide().eq(index).show(); 
    }).eq(1).mouseover(); 
})(jQuery); 

這將允許您使用$變量在你的代碼,但您將無法使用該功能之外的變量,因此請小心。

+0

真棒。謝謝您的幫助。 – zeemy23 2011-05-06 18:32:48

+0

@ zeemy23:不客氣。 :) – 2011-05-06 18:33:11

1

根本不需要更換$物品。

$items = jQuery('#vtab>ul>li'); 

將工作。

$ items是一個變量名稱,不是$名稱空間的一部分。

1

var $items只是一個變量。使用$的前綴變量可以讓開發人員知道它是一個jQuery對象。

+0

謝謝大家!太糟糕了,我不能檢查多個。 – zeemy23 2011-05-06 18:41:45

+0

你檢查了正確的一個,Drackir把時間放在了 – hunter 2011-05-06 18:48:39