Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在不使用ID'的情况下按类名更改元素的样式属性;什么是JS?_Javascript_Html_Css - Fatal编程技术网

Javascript 如何在不使用ID'的情况下按类名更改元素的样式属性;什么是JS?

Javascript 如何在不使用ID'的情况下按类名更改元素的样式属性;什么是JS?,javascript,html,css,Javascript,Html,Css,我正在做一个学校项目,这是我第一次使用JS,我们不允许使用任何ID来设置css样式,但在某些情况下,用户确实需要更改页面中div的样式: HTML: 当用户执行事件时,我想将display属性更改为: display : none; 我知道如何使用元素的ID来完成,但是如何仅通过类名来完成呢 我希望能够这样做: document.getElementsByClassName('ads').style.display=none; 谢谢。如果您知道该类只有一个元素,请使用节点列表的第一个元素,该

我正在做一个学校项目,这是我第一次使用JS,我们不允许使用任何ID来设置css样式,但在某些情况下,用户确实需要更改页面中
div
的样式:

HTML:

当用户执行事件时,我想将display属性更改为:

display : none;
我知道如何使用元素的ID来完成,但是如何仅通过类名来完成呢

我希望能够这样做:

document.getElementsByClassName('ads').style.display=none;

谢谢。

如果您知道该类只有一个元素,请使用
节点列表的第一个元素,该元素返回:

document.getElementsByClassName('ads')[0].style.display ='none';

您应该放置索引,并且等号后面的字符串必须带有引号,如下所示:

document.getElementsByClassName('ads')[0].style.display="none";

NodeList对象表示节点的集合。可以通过索引号访问节点。索引从0开始


如果只有一个元素的类为“ads”
,则可以使用:

document.querySelector('.ads').style.display='none'
否则,如果您有多个元素,您可以像这样为您的元素添加一个唯一的类名

<div class="ads foo"> 

并使用
document.querySelector('.foo').style.display='none'

用于更改其样式。

或循环返回的列表(如果要更改所有列表)。很棒的向下投票狂欢。请注意,
none
需要用引号括起来。
document.getElementsByClassName('ads')[0].style.display="none";
document.querySelector('.ads').style.display='none'
<div class="ads foo">