2014-06-28 27 views
0

我試圖在普通/原始javascript中創建一個淡出/淡入淡出的循環,但它看起來像我不能得到最簡單的工作。不透明度過濾器本身。我有一個div id="slideshow"並創建了2個充滿活力的孩子。 Img and div用javascript設置不透明度到div div

<div id="slideshow"> 
//start dynamic part 
<img src="image1.png" /> 
<div id="tooltip" /> 
//stop dynamic part 
</div> 

即時通過javascript創建這些標籤。

var slideshow = document.getElementById('slideshow'); 
slideshow.innerHTML ='<img src="image1.png" /><div id="tooltop"></div>': 

即時通訊現在試圖給予Slideshow的子div div opacity using javascript。

var slideshowDiv = document.getElementById("slideshow").getElementsByTagName("div"); 
slideshowDiv.style.opacity = 0.5; 
slideshowDiv.style.filter = "alpha(opacity=50)"; 

這是不工作becouse缺乏事件處理程序時,新的標記是用JavaScript創建的?否則我不明白這個問題。

回答

1

getElementByTagName返回NodeList而不是HTMLElement

使用索引從NodeList中檢索元素。

例如,對於第一個元素,可以這樣做:

slideshowDiv[0].style.opacity = 0.5; 
slideshowDiv[0].style.filter = "alpha(opacity=50)"; 

索引從0開始和最後一個索引是(陣列的長度 - 1)

+0

這樣basicly的NodeList是一個數組?並在我的情況下,我想針對div的情況下是slideshowDiv [1]? – Nicco

+0

@ user3721495沒有。它只有'slideshowDiv [0]',因爲你只有一個'div'。 'slideshowDiv'只包含div –

+0

是的,這是真正的因爲我的目標是在父母的子div。謝謝 – Nicco