日期:2014-05-16  浏览次数:20470 次

getElementById 是怎么实现的呀
肯定不是循环所有标签,我猜是使用类似java里的hashMap或者是为id建立了一个B树索引之类就像数据库里的id一样

------解决方案--------------------
根据指定的 id 属性值得到对象。返回 id 属性值等于 sID 的第一个对象的引用。假如对应的为一组对象,则返回该组对象中的第一个。
------解决方案--------------------
这个可能浏览器不同不一样, 在生成DOM 时就添加到管理器里了
像IE,chrome 的 document.all

<button onclick="test()">test</button>
<script  >
var a=document.all,i=0;
function test(){
document.body.insertAdjacentHTML('beforeEnd','<a id="a'+i+'" >'+i +'</a>');
alert( a["a"+i  ].innerHTML );//通过 a 取到新生成的元素
i++
}
</script>

------解决方案--------------------
引用:
肯定不是循环所有标签,我猜是使用类似java里的hashMap或者是为id建立了一个B树索引之类就像数据库里的id一样

猜对了
------解决方案--------------------
id是一个引用,代表存值的地点。就像是你家的地址,有这个就可以直接去你家找你,而不用一家一家的找。
------解决方案--------------------