所以,我的任务是维护一个遗留应用程序并试图让它跨浏览器。我偶然发现了这样的帖子(Javascript: access DOM elements without getElementById),这些帖子清楚地说明了我的问题。
即,在IE中,您可以通过仅通过其ID来调用DOM中的元素。这是非标准但它的工作原理。显然,第二个你去Chrome或Firefox,旧的代码都不再适用,因为Chrome或FF依赖于你使用像getElementByID这样的东西(这是正确的,基于标准的方式)。
此应用程序还使用document.all之类的东西来查找是否存在某些控件,如果存在,则使用它们。这一切都在没有getElementByID的情况下发生。
那么,是否有一种简单的方法可以找到这种IE依赖代码,这样我就可以将其删除并用更现代的东西替换它?还是不是真的?
谢谢!
编辑:
所以,这是现有JS中的一些代码
for (var i = 0; i < grdPreviousEpisode.rows.length; i++)
...
}
现在,grdPreviousEpisode是一个GridView(在Web窗体中)。这表现为HTML表。这段代码没有使用“getElementById”函数来“以正确的方式”将其从DOM中拉出来。当没有可见的JS变量时,它依赖于IE的terribad方式将项目传递出DOM。
此代码中可能存在其他区域,这些区域特别依赖于IE依赖的黑客攻击,我不想手动查找/替换这些内容。这有意义吗?
答案 0 :(得分:0)
如果我理解正确,您想要搜索并替换项目文件夹中的所有文件。有几种方法我可以想到