JavaScript:重写代码行,使其不使用eval()
JavaScript: Rewrite line of code to not use eval()
我不是JavaScript专家,我有以下JavaScript代码:
var cat='';
cat+='<div><a class="hl">Supplies</a><div class="tb1" id="agriculture-supplies_1" style="display:none">';
if (eval("document.getElementById('supplies')"))
document.getElementById("supplies").innerHTML = cat;
我在jsfiddle上运行了它来整理它,它建议不要使用eval,因为它可能有害。
我想寻求帮助,并了解我可以用哪些其他方式来写这个部分:
if (eval("document.getElementById('supplies')"))
document.getElementById("supplies").innerHTML = cat;
非常感谢。
if (document.getElementById('supplies'))
将在任何合理现代的浏览器中工作。我不知道为什么您正在查看的代码中存在间接;也许有一些非常旧的浏览器没有.getElementById
(但我想知道他们有.innerHTML
吗?)。
编辑:刚刚注意到,在下一行没有eval
的情况下使用了相同的函数!你明白了。也许这个代码是工具生成的,而这个工具在某些情况下生成了奇怪的代码。
相关文章:
- 推荐在JavaScript中执行存储为字符串的函数,而不是使用eval
- Javascript eval()无法处理传递的字符串
- Semi-sandboxing Javascript eval
- JavaScript 可以在这里使用 eval 吗?
- 如何使用uglifyjs/uglifyjs2解析walk和eval javascript表达式
- 当eval只执行服务器端数据时,在javascript中使用eval是否安全
- javascript eval方法语法
- 在Javascript中使用eval的替代方案
- 如何使eval'd调试器可访问的javascript代码
- JavaScript eval() and const
- 想要将 JSON 字符串传递给 javascript 变量 [ JSON.parse(),eval()] 对我不起作用,
- “语法错误:意外的令牌)”在 javascript 调用中,当 eval(value) 为空时
- mongo javascript --eval is failing
- 如何在javascript中的eval函数中添加单引号
- Javascript eval查询字符串
- 使用 eval JavaScript 创建动态变量
- Haskell, MongoDB, eval JavaScript
- eval() javascript如何安全地获得指示,如果它可以评估和防止异常
- 关联数组不能与eval() JavaScript一起工作
- iMacros w EVAL([javascript]} FORMAT尝试时出现错误,没有解决方案