javascript - 显示/隐藏 Div 组合 jQuery

标签 javascript jquery

更新: Working answer .


这是一个关于 jQuery/JS 的相当复杂的问题 - 我找到了一篇解决类似问题的帖子 here ,但我没有使用原始 html 或标签,因此代码的结构有很大不同。

基本上,我有一个需要在页面加载时隐藏的 div 列表,然后我需要在单击触发元素时显示每个 div。问题是我需要在单击不同的触发元素时隐藏所有其他 div。显然 display: none; 需要在页面加载时出现,但 jQuery 超出了我目前的知识范围。


示例:

当点击这个div时

<div id="div1trigger">View Div 1 Contents</div>

显示此 div:

<div id="div1">Div 1 Content Here</div>

我使用这个 JS 来完成这个工作:

<script>
jQuery("#div1trigger").click(function(){
    jQuery("#div1").toggle();
});
</script>

我知道 .toggle() 的使用非常简单,但这就是变得复杂的地方,我总共有 5 个触发 div 和 5 个内容 div,每个都需要显示其相应的 div并同时隐藏所有其他 div。

我在想如下内容:

<script>
jQuery("#div1trigger").click(function(){
    jQuery("#div1").toggle();
        jQuery("#div2, #div3, #div4, #div5").hide();

});
</script>

然后 ^ 5 次来控制每个触发 div(尽管我几乎可以肯定这个问题有一个更干净/更“正确”的解决方案)。

请注意所有触发器 div 均由“divnumbertrigger”标记,例如#div2trigger;所有内容 div 都标有“divnumber”,例如 #div2

最后,为了视觉引用,这里是前端的屏幕截图,以帮助可视化使用情况,所有内容 div 使用页面的相同区域(绿色框)和所有“查看”按钮(红框内)是 div 触发器:

enter image description here

任何人都可以为我提供可行的解决方案/实现此目标的正确方法吗?

最佳答案

这里使用类基础,所以你可以这样做:

<div id="div1" class="contentDivs">Div 1 Content Here</div>
<script>jQuery("#div1trigger").click(function() {jQuery("contentDivs").hide();
jQuery("#div1").show();});</script>

因此,我们隐藏所有 div,然后仅显示需要的 div。

谢谢

关于javascript - 显示/隐藏 Div 组合 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45032914/

相关文章:

javascript - 如何访问函数内部的函数?

javascript - 原型(prototype)对象的数组

javascript - 单击元素 jQuery 时获取父表单类

javascript - 在不改变div位置的情况下替换css动画

javascript - 即使向上滚动 1 像素,导航栏也会变得粘滞 - 我希望它仅在滚动超过 10 像素时才出现

javascript - Anki javascript 仅出现在预览中

javascript - 将无序列表显示为水平二叉树

javascript - 自动滚动以搜索输入字段并且不在移动设备上显示旧的搜索选项

javascript - 使用 Javascript 或 CSS 将某些样式应用于特定元素

javascript - 通过比较对象属性按原样返回对象(不排序)