如果某个类包含某个名称,请更改该元素的样式

时间:2016-11-28 13:51:33

标签: javascript html dom

我目前在JS文件中拥有的内容:

if (documentElement.className("child") != -1){
    documentElement.className("child").backgroundColor="red";
}

基本上,正如标题所暗示的那样,我希望所有类名为" child"在页面上将背景颜色更改为红色。

3 个答案:

答案 0 :(得分:0)

className返回包含元素上所有类的字符串。您需要查看该字符串是否包含您的类:

if (documentElement.className.indexOf("child") != -1){

使用indexOf

答案 1 :(得分:0)

关于@Roberrrt所说的内容 - 您只需选择“儿童班级”即可实现这一目标。并应用一种风格。

以视觉为例。

http://codepen.io/anon/pen/GNMJjr

在您的代码中:

documentElement.className("child").backgroundColor="red";

这不会起作用,这是实现目标的更好方法:

document.querySelector('.child').style.backgroundColor = "red";

我仍然建议使用CSS。这是多余的,非常冗长。

答案 2 :(得分:0)

尝试这一点(在 about:blank 页面上测试,其中包含5 <div>,其中2个使用class="red"

var red = [];
red = document.querySelectorAll(".red");

for (var i = 0; i < red.length; i += 1) {
     red[i].style.backgroundColor = "red";
}

如果你真的想验证类名是否包含字符串,请使用classList.contains(它经常为我解决这类问题,请查看MDN page