JavaScript:重写代码行以不使用eval()

JavaScript:重写代码行以不使用eval(),javascript,Javascript,我不是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.getElementByI

我不是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;
多谢各位

if (document.getElementById('supplies'))
。。。将在任何合理的现代浏览器中工作。我不知道为什么你所看到的代码中的间接寻址;也许有一些非常旧的浏览器没有
.getElementById
(但我想知道,它们是否有
.innerHTML


编辑:刚刚注意到在下一行中使用相同的函数时没有使用
eval
!你难住我了。可能此代码是工具生成的,并且工具在某些情况下生成了奇怪的代码。

如果(document.getElementById('supplies')),有什么问题吗?为什么首先使用
eval
?只需删除eval并将其更改为if(document.getElementById('supplies'))我想这是因为代码是几年前编写的,我正在清除Firefox返回的一些JavaScript错误。我不是一个编码员,这就是为什么我需要询问了解它的人。谢谢你的帮助和解释。
if (document.getElementById('supplies'))