簡體   English   中英

Javascript-將元素放在var中但不能更改樣式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM