Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.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
使用GetElementsByCassName JavaScript添加类_Javascript_Css - Fatal编程技术网

使用GetElementsByCassName JavaScript添加类

使用GetElementsByCassName JavaScript添加类,javascript,css,Javascript,Css,我正在将一个jQuery站点转换为香草javascript,并寻求将一行简单的jQuery转换为javascript的最佳方法的建议 jQuery $(“.div_class”).css({display:'none'}) 任何在纯javascript中仅使用类执行此操作的建议都会 非常有帮助 谢谢选择具有该类名的所有元素: var allEls = document.getElementsByClassName('div_class'); 这将返回一个数组,因此您必须循环遍历每个元素,并将每

我正在将一个jQuery站点转换为香草javascript,并寻求将一行简单的jQuery转换为javascript的最佳方法的建议

jQuery
$(“.div_class”).css({display:'none'})

任何在纯javascript中仅使用类执行此操作的建议都会 非常有帮助


谢谢

选择具有该类名的所有元素:

var allEls = document.getElementsByClassName('div_class');
这将返回一个数组,因此您必须循环遍历每个元素,并将每个
显示更改为
none
,如下所示:

for(var i=0; i < allEls.length; i++){
   allElls[i].style.display = 'none'
}
for(变量i=0;i
请尝试以下几行:

var div_class = document.getElementsByClassName('div_class');
for (var div in div_class) {
    div.style.display = 'none';
}
我认为您的困惑是因为
document.getElementsByClassName('div_class')
返回一个
Array
。。。正因为如此,我使用了一个
for..in
-循环来迭代前面数组的每个匹配项


希望有帮助。

尝试使用
document.getElementsByName
获取所需元素

[].slice.bind(document.getElementsByClassName("div_class"))().forEach(function(itm){
  itm.style.display = "none";
});
并通过将类似数组的对象绑定为
slice
this
值,将其转换为数组并调用它。现在迭代返回的数组并设置其display属性

您也可以直接使用
forEach
来缩短它

[].forEach.bind(document.getElementsByClassName("div_class"),function(itm){
  itm.style.display = "none";
})();

我的朋友,你可能是个忍者。@newneub:)很乐意帮忙!:)您可以像这样进一步简化它,删除
slice()
步骤:[].forEach.call(document.getElementsByClassName('div_class'),函数(el){el.style.display='none';});
.bind
甚至不是必需的,因为
.call
的第一个参数设置调用
[].forEach
的上下文
.call
进一步节省了必须在末尾执行绑定的
forEach
函数的步骤:
.call
在一个步骤中设置上下文并执行函数。:)@jpec每个人都是这样写的。只是为了改变一下,我是这样写的:)我阅读了算法,使用bind时不会有任何性能缺陷。:)Hey抱歉,它没有返回数组,它返回类似数组的对象,GetElementsByCassName返回找到的元素的HTML集合: