На самом деле document.all
- это всего лишь минимально сравнимо с document.getElementById
. Вы не будете использовать одно вместо другого, они не возвращают одно и то же.
Если вы пытаетесь отфильтровать возможности браузера, вы можете использовать их, как в Ответ Марселя Корпеля примерно так:
if(document.getElementById){ //DOM
element = document.getElementById(id);
} else if (document.all) { //IE
element = document.all[id];
} else if (document.layers){ //Netscape < 6
element = document.layers[id];
}
Но функционально document.getElementsByTagName('*')
более эквивалентно document.all
.
Например, если вы действительно собираетесь использовать document.all
для проверки всех элементов на странице, например:
var j = document.all.length;
for(var i = 0; i < j; i++){
alert("Page element["+i+"] has tagName:"+document.all(i).tagName);
}
вы бы использовали document.getElementsByTagName('*')
вместо:
var k = document.getElementsByTagName("*");
var j = k.length;
for (var i = 0; i < j; i++){
alert("Page element["+i+"] has tagName:"+k[i].tagName);
}