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

eval: executing a jquery chain string with dynamic values

本文关键字:执行 jquery 字符串 动态 Eval      更新时间:2023-09-26

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

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

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

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

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

确切地说,$(...).something等于$(...)['something']。所以在.之后传递的东西总是一个字面值字符串,而[...]不一定是一个字面值字符串。

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