2013-10-02 21 views
6

document.getElementById JavaScript'te bir canlı DOM elemanı döndürüyor mu?document.getElementBy, bir dom dom öğesini döndürüyor mu?

+2

Bir "canlı" DOM ​​öğesini nasıl değerlendirirsiniz ve "canlı olmayan" bir DOM öğesi neye benzeyebilir? – adeneo

+0

elementList = document.querySelectorAll (seçiciler); elementList, öğe olmayan bir NodeList öğesi nesnesidir. – GibboK

+0

Bir canlı elemanın ne yaptığıyla ilgili bir örnek verebilir misiniz? – tymeJV

cevap

12

Performans ile ilgili bilmek isterim Standart ve "canlı" arasındaki ayrım genellikle listelerinin öğelerinde kullanılır. document.getElementById, bir DOM düğümüne tek bir nesne başvurusu döndürür. Düğüm elde edildikten sonra referans her zaman aynı düğüme işaret edecektir. örneğin

HTML: örneğin
<div id="foo"></div> 
JS: referansları elemanın kimlik değişmiş olabilir sırf güncellenen alamadım
var foo, 
    bar; 
foo = document.getElementById('foo'); //gets the div 
bar = document.getElementById('bar'); //null 
foo.setAttribute('id', 'bar'); 
console.log(foo.id); //'bar' 
console.log(bar.id); //TypeError 

. Bu, belirtilen etikete sahip öğelerin bir listesini döndüren document.getElementsByTagName gibi bir şeyin aksine, bunun tersidir. Öğeler DOM'a eklendiğinde veya kaldırıldığında liste otomatik olarak güncellenir.