2014-05-11 17 views
2

我的代碼:如何正確詢問JavaScript中的第一個孩子?

news_divs[i].innerHTML= content.substr(0,this.config.head_length)+"...<div style='display:none'>"+content+"</div>"; 
news_divs[i].onclick = function(){var child=this.getElementByTagName('div')[0];child.style="display:block;"} 

但在最後一個字符串返回錯誤。 錯誤文本:

Uncaught TypeError: undefined is not a function news_div.js:9 

news_divs.(anonymous function).onclick 

我測試:

news_divs[i].onclick = function(){var child=this.firstChild;child.style="display:block; 

news_divs[i].onclick = function(){var child=this.children[0];child.style="display:block; 

但總是得到這個錯誤。

當我所著(實施例):

news_divs[i].onclick = function(){console.log('test')} 

而工作。

news_div不確定。

我想我有錯誤,因爲我的問題是不正確的。 這是正確的嗎?

+0

其中「I」被設置的方式嗎? – attila

回答

2

這是getElement s ByTagName,用s,並使用addEventListener會給this正確的價值,還要注意樣式設置

news_divs[i].addEventListener('click', function() { 
    var child = this.getElementsByTagName('div')[0]; 
    child.style.display = "block"; 
}, false);