我目前正在工作的一个项目目前有大约 10 个 UL,每个 UL 都有 10-50 个元素。有人提议,这些元素中的每一个都指定了一个唯一的 ID,我们将使用它来通过 Javascript 更新内容。

这看起来像是要添加到页面的大量 ID,但每个字段都有一个真实且有意义的名称。

如果这对我们有用,那么在最初呈现页面或使用 javascript 遍历/修改页面时,向这么多现有元素添加 ID 是否会对性能产生任何影响?

最佳答案

根据我的个人经验,我已经实现了具有 1000 多个唯一 ID 的页面,甚至 IE 似乎也能很好地应对。但是,请记住,IE 会为页面上的每个 ID 创建一个全局变量,并记住在 javascript 中,通常全局变量和函数名称都只是 window 对象的属性。

所以在 IE 中,以下代码将中断:

<div id="foo"></div>
<script>
    function foo (txt) {
        document.getElementById('foo').innerHTML = txt; // fail in IE
                                                        // because function 'foo'
                                                        // clash with ID 'foo'
    }
</script>

只是要记住一些事情,因为有如此大量的 ID,函数名称冲突的可能性会增加。

10-04 15:14
查看更多