jquery函数在点击时替换div

时间:2013-10-21 13:20:02

标签: javascript jquery

我创建了一个函数,它点击隐藏了div的第一个子节点,并用另一个替换它......现在查询点击alert(divno)如果divno为1则返回2但它正在返回11

$('#rightarrow').click(function(){
    var getdivname = $('#dcontainer').find("div").first();
    var divid = getdivname.attr("id");
    var divno = divid.match(/[0-9]+/);
    $('#d'+divno).hide();
    divno=divno+1;
    $('#d'+divno).appendTo('#dcontainer');
     alert(divno);
});

如果我,使用parseInt(divid,10)它返回NaN

2 个答案:

答案 0 :(得分:3)

只需使用Unary +divno的值转换为整数而不是字符串:

divno=+divno+1;
  

一元加运算符在其操作数之前,并计算其操作数,但尝试将其转换为数字(如果尚未)。例如,y = + x取x的值并将其赋给y;也就是说,如果x为3,y将得到值3,x将保留值3;但如果x是字符串“3”,y也会得到值3.

我们可以通过尝试以下测试来证明这一点:

"1" + 1     // "11"
+"1" + 1    // 2

答案 1 :(得分:2)

在执行parseInt之前,您需要divno +1

divno=parseInt(divno)+1;

JavaScript将您的divno解释为字符串(因为.match返回字符串)而不是整数。这样做会强制JavaScript识别它是一个整数而不是字符串。