为eval函数转义javascript撇号/引号,这样它仍然可以作为选择器使用?
JS: HTML:为eval函数转义javascript撇号/引号,这样它仍然可以作为选择器使用?,javascript,jquery,eval,Javascript,Jquery,Eval,JS: HTML: 有人知道我能做些什么吗?你需要这样说: function myFunc(foo){ $(foo).val("magic, it works!... NOT"); } var x = "(myFunc('input[name=\"testme\"]'))"; eval(x); 将它们组合在()中。但你也需要考虑这一点。你需要放弃不包裹(身体) 小提琴: 在您的示例中,您正在传递eval一个常量
有人知道我能做些什么吗?你需要这样说:
function myFunc(foo){
$(foo).val("magic, it works!... NOT");
}
var x = "(myFunc('input[name=\"testme\"]'))";
eval(x);
将它们组合在()
中。但你也需要考虑这一点。你需要放弃不包裹(身体)
小提琴:
在您的示例中,您正在传递eval
一个常量字符串。这可以简单地替换为字符串的内容。这就是eval
实际上所做的一切,除了使用eval
使JavaScript引擎无法优化代码之外
您的示例可以替换为:
function myFunc(foo){
$(foo).val("magic, it works!... NOT");
}
myFunc('input[name=\'testme\']');
好吧,如果你把它放在一个DOM ready中,然后像你的问题中那样逃避你的
,
,它会工作:好吧,对了。这个例子是为了简单。“constant”字符串中充满了php变量和“ifs”。
function myFunc(foo){
$(foo).val("magic, it works!... NOT");
}
var x = "(myFunc('input[name=\"testme\"]'))";
eval(x);
function myFunc(foo){
$(foo).val("magic, it works!... NOT");
}
myFunc('input[name=\'testme\']');