使用类名更改属性

时间:2017-09-28 03:57:02

标签: javascript css attributes

我想使用此更改属性:

document.getElementsByClassName('a').setAttribute("color","red")

但这在Chrome中不起作用。控制台告诉我

  

setAttribute不是函数

你能告诉我用什么javascript函数吗?谢谢。

2 个答案:

答案 0 :(得分:1)

document.getElementsByClassName 返回类似数组的对象,而不是单个元素。您需要访问索引项。同时设置attibute style而不是color。如果您有多个元素,则可以使用循环迭代类似数组的对象并设置属性。

document.getElementsByClassName('a')[0].setAttribute("style","color:red")
------------------------------------^^^----------------------------

代码示例

document.getElementsByClassName('a')[0].setAttribute("style","color: red");
<p class='a'>Test 1</p>
<p>Test 2</p>

有许多元素

Array.prototype.forEach.call(document.getElementsByClassName('a'), 
                             item => item.setAttribute("style","color: red"));
<p class='a'>Test 1</p>
<p class='a'>Test 2</p>
<p>Test 3</p>

答案 1 :(得分:0)

检查this

你可以尝试这样document.getElementsByClassName('.a').style.color = "red";

我认为这是你想要的。