$ variable和javascript / jquery问题

时间:2011-05-06 18:24:50

标签: javascript jquery

我最近通过将代码中的所有'$'切换为'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的$ sign。它就像jQuery.items一样简单吗?这甚至是jQuery代码吗?我很困惑。

谢谢, Zeem

3 个答案:

答案 0 :(得分: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);

这将允许您在代码中使用$变量但是您将无法在函数内部使用变量,因此请小心。

答案 1 :(得分:1)

您根本不需要替换$ item。

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

会奏效。

$ items是变量名,不属于$ namespace。

答案 2 :(得分:1)

var $items只是一个变量。使用$对变量进行前缀使开发人员知道它是一个jQuery对象。