Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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
显示/隐藏组中特定div的Javascript_Javascript_Css_Toggleclass - Fatal编程技术网

显示/隐藏组中特定div的Javascript

显示/隐藏组中特定div的Javascript,javascript,css,toggleclass,Javascript,Css,Toggleclass,我已经广泛地搜索了切换元素显示的脚本,但找不到适合执行以下任务的脚本: $('.group').removeClass('hide').not('#sectiontoshow').addClass('hide'); 在我的网页上,我有几个部分的内容,例如 <div id="section1"> <div id="section1a" class="section1links"></div> <div id="se

我已经广泛地搜索了切换元素显示的脚本,但找不到适合执行以下任务的脚本:

$('.group').removeClass('hide').not('#sectiontoshow').addClass('hide');
在我的网页上,我有几个部分的内容,例如

    <div id="section1">
        <div id="section1a" class="section1links"></div>
        <div id="section1b" class="section1links hide"></div>
        <div id="section1c" class="section1links hide"></div>
    </div>

    <div id="section2">
        <div id="section2a" class="section2links"></div>
        <div id="section2b" class="section1links hide"></div>
        <div id="section2c" class="section1links hide"></div>
    </div>
例如,我有一个链接,显示“section1b”:

    <a href="#" onclick="show('section1links','section1b')">show section 1b</a>
此外,当点击链接时,不能使网页跳回顶部。我通常在链接中使用“javascript:void(0)”而不是hashtag,但不知道这是否会导致冲突


我相信更多合格的JS程序员可能会有更好的解决方案,他们可能会认为这是一项非常漫长的工作,我更擅长设计,但任何帮助都将不胜感激。

您是否已经使用了jQuery,如果没有:使用它-那么您可以执行以下操作:

$('.group').removeClass('hide').not('#sectiontoshow').addClass('hide');
在您的函数中,代码应如下使用:

function show(group, sectiontoshow) {
  $('.' + group).removeClass('hide').not('#' + sectiontoshow).addClass('hide');
}
<a href="#" onclick="show('section1links','section1b')">show section 1b</a>

传递元素的id和您希望它拥有的类,然后使用该id将其类更改为您在参数中传递的类

function Show(Class, Id)
{
    document.getElementById(Id).className = Class;
}
要使其发挥作用,您需要将a设置为:

function show(group, sectiontoshow) {
  $('.' + group).removeClass('hide').not('#' + sectiontoshow).addClass('hide');
}
<a href="#" onclick="show('section1links','section1b')">show section 1b</a>


在用简单的旧JS键入我的anser时,我看到了你的答案,这让我意识到,我真的需要开始使用jQuery。你可以尝试从jQuery中使用
show()
/
hide()
函数,以避免直接使用类当然我/他可以使用这些预定义函数,但我试着给他这段代码,使他能够进行更多的更改,而不仅仅是隐藏/显示他的对象。@Luigidelcarno对纯Javascript的了解是一项很好的维护技能。jQuery确实是一件很棒的事情,需要更多地了解它。那很有魅力,谢谢你。