将选择器存储在变量Javascript中,然后在其上使用方法

时间:2014-10-09 11:26:14

标签: javascript variables methods

我已经检查了一些其他帖子,并自行记录,但我不知道这里有什么问题。

我有2张图片(希望最后有20张图片),您可以点击图标并在网页中显示和隐藏图像。如果你点击图像A它应该显示图像A,如果你点击图像B图像A应该隐藏,图像B应该播种。

var firsttime = 1;
var $lastletter;
$(function() {
    $('#A').click(function() {
        if (firsttime = 0){
            $lastletter.toggle();
            $('#AL').toggle();
            $lastletter  = $( '#AL' );
        }
        else
        {
            firsttime = 0;
            $('#AL').toggle();
            $lastletter  = $( '#AL' );
        }
    });
});
$(function() {
    $('#B').click(function() {
        if (firsttime = 0){
            $lastletter.toggle();
            $('#BL').toggle();
            $lastletter  = $( '#BL' );
        }
        else
        {
            firsttime = 0;
            $('#BL').toggle();
            $lastletter  = $( '#BL' );
        }
    });
});

这是我使用的解决方案:

$(function() {
    $('.imgLetter').click(function() {
        if (lastletter != this.id) {
            $('#' + lastletter + 'L').toggle();
            lastletter=this.id;
        }
        $('#' + this.id + 'L').toggle();

    });
});

1 个答案:

答案 0 :(得分:0)

假设您通常通过在ID上附加“L”来分配“最后一个字母”:这可能会变得更加简单。使用类名装饰所有#<x>元素,以便于一次选择所有元素。我要选择“信”。

我认为你甚至不需要追踪“第一次”。听起来你只想要一个元素来切换另一个元素。那看起来像是:

$(function() {
    $('.letter').click(function() {
        $('#' + this.id + 'L').toggle();
    });
});