eval:使用动态值执行jquery链字符串

时间:2011-07-28 21:26:27

标签: javascript jquery eval

我想执行这个jQuery字符串,但到目前为止我知道如何使用eval的唯一方法是什么,这是一种更合适的方法呢?

var first = thisWay('next')
var second = thisWay('prev')


var thisWay = function(direction){
    var Chain = "$('#img')." + direction + "('div');";

    eval(Chain)
}

2 个答案:

答案 0 :(得分:6)

还有另一种使用[]表示法访问属性的方法。这样你也可以传递动态值:

$('#img')[direction]('div');

准确地说,$(...).something等于$(...)['something']。因此,.之后传递的内容始终是文字字符串,而[...]不一定必须是文字字符串。

答案 1 :(得分:2)

function thisWay(direction) {
    if (direction == 'next') {
        $('#img').next('div');
    }
    else {
        $('#img').prev('div');
    }
}