在没有Eval的Javascript中执行字符串
Execute String In Javascript Without Eval
我用eval
做过,但我读到eval是邪恶的。所以我很好奇:没有eval()
我怎么写这个?我已经尝试了一些样品,但它没有工作。没有eval
是否有可能做到这一点,或者eval
是唯一的方法?
$(".test").each(function(){
var xyz = "";
var w = $(this).last().attr("name");
for(var i=0; i< (w-1);i++){
var xyz = xyz + ".prev()";
}
var x = '$(this).first().parent()' + xyz;
var y = x + '.find("td.one").attr("rowspan",'+w+');';
eval(y);
});
eval()
不是邪恶的,它几乎总是错误的工作工具。例如,你的算法可以在完全不弄乱字符串的情况下实现,这样你就不需要考虑eval()
:
$(".test").each(function(){
var w = $(this).attr("name");
var el = $(this).parent();
for(var i=0; i < w-1; i++){
el = el.prev();
}
el.find("td.one").attr("rowspan", w);
});
还请注意,使用.last()
和.first()
是多余的,因为在.each()
循环中,this
将引用单个DOM节点。
相关文章:
- 推荐在JavaScript中执行存储为字符串的函数,而不是使用eval
- 如何在javasciipt中添加单引号到字符串,该字符串将在nodeJS中作为mysql插入命令执行
- 将字符串作为一段 HTML/javascript 代码执行
- 当JavaScript函数的名称在函数中作为字符串传递时,如何执行该函数
- eval和setTimeout之间的差异执行字符串代码
- 试图执行JSON.parse,但它不喜欢我使用服务器返回的字符串所做的操作
- 在特定的HTML元素中注入并执行JavaScript字符串
- Jquery:在Jquery的(字符串)变量中执行Jquery脚本
- 在Javascript中对对象属性执行字符串方法
- 如何从字符串执行 JS 语句
- nodejs执行字符串变量
- 如何在for()语句中执行字符串函数
- GulpJS:对SVG文件内容执行字符串函数
- 在JS中从php文件执行字符串,setTimeout vs eval()
- 我如何使用Javascript执行字符串分割和访问数组的值
- 在没有Eval的Javascript中执行字符串
- 如何在angular js指令中执行字符串
- 在没有eval的情况下执行字符串,或者在这里使用eval
- 如何在提交之前在表单中执行字符串拆分
- 在从CFC返回结果之前,对AJAX查询执行字符串函数