在另一个变量名中设置变量值

时间:2013-04-26 22:15:49

标签: jquery variables onclick

我想获取div的id并在jquery变量名的末尾设置该值。例如,如果我点击id为“2”的div,我希望函数创建一个名为“var doThis2”的变量,而不仅仅是“var doThis”

以下是我的代码:

    var clickedComment = false;
    $('.comment').click(function (event) {

        var id = event.target.id;  
        // I am wanting ^this id value to be added to the end on clickedComment  

        if (clickedComment == true) {
            $("." + id).animate({ left: '+=85.2%' }, 250);
            clickedComment = false;
        } else {
            $("." + id).animate({ left: '-=85.2%' }, 250);
            clickedComment = true;
        }
    });

任何帮助甚至更有效的方法来使这项工作?

2 个答案:

答案 0 :(得分:1)

可以eval执行此操作,但我不确定您是否真的想要这样做。为什么不将单击状态存储在常规对象中? E.g。

var clickedComments = {};

然后使用它:

$('.comment').click(function (event) {
    var id = event.target.id;

    if (clickedComments[id] == true) {
        $("." + id).animate({ left: '+=85.2%' }, 250);
        clickedComments[id] = false;
    } else {
        $("." + id).animate({ left: '-=85.2%' }, 250);
        clickedComments[id] = true;
    }
});

答案 1 :(得分:0)

你可以这样做

var myArrayOfVars['vardoThis'+id] = value

然后您可以使用:myArrayOfVars['vardoThis'+id]

访问ur变量