'daki bir Nesne yerine '
function processTabs(TabContainer, PageContainer, Index) { var tabContainer = document.getElementById(TabContainer); var tabs = tabContainer.firstChild; var tab = tabs.firstChild; var i = 0; .... more code }
bu noktada önemli değil kodun kalan o
çağrılan çünkü hiçbir zaman: <div id="tabs">
<ul class="tabs">
<li class="current"><a><span>News</span></a></li>
<li><a><span>Videos</span></a></li>
<li><a><span>Photos</span></a></li>
<li><a><span>Twitter</span></a></li>
</ul>
</div>
Sonra sayfa yüklemesinde, bu yöntemin içine düştü olsun şu şekildedir: pertitent HTML'dir . tabContainer, div sekmesiyle div başvurusu yapmak için uygun şekilde ayarlanmıştır. Şimdi, Internet Explorer'da tabContainer.firstChild'i çağırdığımda, 'sekmeler' değişkeni UL'm ve daha sonra arama var sekmesi = tabs.firstChild; ilk LI referanslarım Sorun şu ki tabContainer.firstChild Venkman dediğimde bana geri dönüyor. Bu yüzden firefox benim yeni satırlarımı div içindeki gerçek çocuklar olarak okuyor! UL'm aslında childNodes koleksiyonundaki ikinci çocuk!
Bunu düzeltmenin bir yolu var mı?
Teşekkürler!
Güzel bitti, bir çekicilik gibi çalıştı! – dparsons
'getFirstChild' işlevinde, yorumlar gibi diğer düğüm türlerini atlamak için' firstChild.nodeType == 3' yerine 'firstChild.nodeType! = 1' seçeneğini işaretlerdim. – Cito
Bu cevap, önerilen @Cito değişikliğine güncellenmiş olmalı, bu kodu tam olarak kopyalayan bir geliştiriciyle karşılaştım ve yeterince aranan ilk eleman düğümünden önce bir HTML yorumu var ...ve böylece başarısız oldu. – scunliffe