Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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 如何针对特定的div,然后切换类?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何针对特定的div,然后切换类?

Javascript 如何针对特定的div,然后切换类?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,例如,我有以下菜单: 函数切换HiddenContent(tabClass){ 设t=document.queryselectoral(tabClass); for(var i=0;iclassList.toggle是一个函数,而不是可分配的属性 试试这个 function toggleHiddenContent(tabClass) { let t = document.querySelectorAll(tabClass); for (var i = 0; i < t.leng

例如,我有以下菜单:

函数切换HiddenContent(tabClass){
设t=document.queryselectoral(tabClass);

for(var i=0;i
classList.toggle
是一个函数,而不是可分配的属性

试试这个

function toggleHiddenContent(tabClass) {
  let t = document.querySelectorAll(tabClass);
  for (var i = 0; i < t.length; i++) {
    t[i].classList.toggle("visible-class");
  }
}
函数切换HiddenContent(tabClass){
设t=document.queryselectoral(tabClass);
对于(变量i=0;i
根据您的示例,我建议您进行一些小的更改,以提高可读性,例如设置父级
(使查找父级变得容易),以及从HTML中删除
onClick
。请查看

从下面的答案中,我不知道
nextElementSibling
,它不需要您像我建议的那样更改HTML

您可以尝试以下方法:

功能切换HiddenContent(e){
if(e.target.nextElementSibling.classList.contains(“可见类”)){
e、 target.nextElementSibling.className=“隐藏内容”;
}否则{
e、 target.nextElementSibling.className=“可见类”;
}
}
。隐藏内容{
显示:无;
}
.可见类{
显示:块
}

主要的
隐藏内容一
主要二
隐藏内容二

您可以尝试类似的方法(同时也可以防止出现突兀的javascript):

//获取要与之交互的元素并将其存储在数组中:
让myElements=document.getElementsByCassName(“主持有者”);
//循环遍历数组,向每个可交互元素添加事件侦听器:
for(设i=0;i<10;i++){
if(myElements[i]){
myElements[i].addEventListener(“单击”,函数(){
//你的职能:
切换隐藏内容(“可见类”,i);
});
}
}
函数切换HiddenContent(tabClass,目标){
//获取要操作(或调整)的元素并将其存储在数组中:
让targetElements=document.getElementsByClassName(“隐藏内容”);
//使用通过单击上一个元素获得的索引来确定要操作(或调整)的目标元素:
targetElements[target].classList.toggle(tabClass);
}
。隐藏内容{
显示:无;
}
.可见类{
显示:块;
}

主要的
隐藏内容一
主要二
隐藏内容二

您可能希望避免使用HTML的
onClick
属性,因为这会使您的javascript变得突兀。要切换类,您也可以参考jQuery的方法。您希望在单击
主保持架时显示隐藏的内容
还是只想切换
主保持架
类?也取决于F浏览器支持ID考虑查看@ SamiAhmedSiddiqui,我想显示隐藏content@JohnSam检查下面的答案。我已经切换类以根据单击元素显示内容。确实如此,但这仍将切换所有…)@JohnSam你需要切换哪一个?@CapitanFindus,我需要切换单击的主支架旁边的隐藏内容。.只需执行
e.target.nextElementSibling.classList.toggle(“可见类”);
即可。