[英]Javascript - Putting element in a var but can't change style
我有一個單擊元素時會調用的函數。
function showHide(elem){
var clickedText = elem.getElementsByTagName("p");
clickedText.style.color = "green";
}
當我運行此代碼時,出現Uncaught TypeError: Cannot set property 'color' of undefined
。 但是,如果我執行console.log(clickedText)
它將記錄相應的
標簽。 我一生無法弄清楚為什么它不起作用,我錯過了完全顯而易見的事情嗎?
getElementsByTagName
方法返回元素的集合(在NodeList
,就像數組一樣)。
您將需要指定一個索引。 例如:
clickedText[0].style.color = "green";
當前,您正在嘗試訪問NodeList
本身的style
屬性,而不是其中包含的元素。
getElementsByTagName
返回元素列表,因此您需要遍歷結果:
var clickedTexts = elem.getElementsByTagName("p");
for (var i = 0; i < clickedTexts.length; i++) {
clickedTexts[i].style.color = "green";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.