jQuery选择器中的变量

时间:2011-12-14 12:13:43

标签: jquery syntax

希望这对你来说很简单。

这是我的代码:

var p7slide = 0;
$("#p7-forward").click (function () {
    p7animate = null;
    if (p7slide == 6)   {
        $("#p7-6").fadeOut("slow", function ()  {
            p7slide = 0;            
        });
    }
    else    {
        p7slide++;
        $("#p7-" + p7slide).fadeIn("slow");
        <!--$("#p7-" + "p7slide - 1").fadeOut("slow");-->
    };
});

我引用的部分是else语句中注释掉的行。

我需要做的是找到p7slide并从该值中取1。然后使用它作为选择器。例如。如果p7slide = 2,则选择器会将#p7-1放在一起。出于某种原因,这个说法没有用。

我在这里做错了什么想法?

谢谢

2 个答案:

答案 0 :(得分:2)

您已将其硬编码为字符串而非操作。

替换

$("#p7-" + "p7slide - 1").fadeOut("slow");

var slideNumber = p7slide - 1;
$("#p7-" + slideNumber).fadeOut("slow");

注意:在JS中,如果先使用+运算符,首先使用字符串,然后使用数字,那么您将把数字作为字符串连接到第一个字符串的末尾,请参阅:http://www.quirksmode.org/js/strings.html了解更多详情。

答案 1 :(得分:0)

尝试删除“”标签,因为您无法在字符串上使用数字函数

 $("#p7-" + p7slide - 1).fadeOut("slow");