簡體   English   中英

如何使用 JavaScript 為元素設置內聯 css 樣式?

[英]How do you set an inline css style to an element using JavaScript?

我試圖通過其“名稱”屬性選擇一個元素,但它不起作用。 在控制台中,我收到以下錯誤:

VM777:1 未捕獲的類型錯誤:無法讀取未定義的屬性“tagName”

我的代碼是:

var test = document.getElementsByName("parameterstest")[0].tagName;
test.style.display='none';

當我在 Chrome 控制台中運行這段代碼時,它似乎應該可以工作。

當你寫document.getElementsByName("parameterstest")[0].tagName; 它返回一個包含該元素標簽名稱的字符串。 您無法在該字符串上應用樣式屬性。 您可以在檢索到的元素上使用 style 屬性,就像這個document.getElementsByName("parameterstest")[0]

所以應該是

var test = document.getElementsByName("parameterstest")[0];
test.style.display='none';

正如人們指出的那樣,使用.tagName只會返回標簽名稱的字符串,例如“TEXTAREA”或“DIV”,並且您不能在字符串上設置樣式。

您似乎想要做的是為所有選定的事物設置樣式,您可以在每個單獨的項目上執行此操作。

document.getElementsByName("parameterstest")將返回零個或多個項目的數組。 對於諸如<input type="text" name="...">東西,它可能是一個項目; 對於<input type="radio" name="...">它可能是幾個項目。

無論返回多少項,您都可以通過使用 Array 的.forEach方法對所有項應用某些內容。

document.getElementsByName('parameterstest')
        .forEach(function(el) {
                     el.style.display = 'none';
                 });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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