javascript - 根据下一个元素的类显示/隐藏一个元素

标签 javascript jquery css display getelementsbyclassname

这个问题对于有经验的 javascript 用户来说可能看起来很容易,但我自己无法解决。

如果下一个 html 元素具有特定类,我想添加一个显示或隐藏元素 (h1) 的 javascript 代码。这里没有 parent / child ,只有下一个元素。 请注意 Jquery 已经加载。

例子如下:

<h1>This must be displayed because next element is div class="show"</h1>
<div class="show">
  <p>Show header above</p>
</div>

<h1>This should not be displayed because next element is NOT div class="show"</h1>
<div class="dontshow">
  <p>Don't show header above</p>
</div>

在此先感谢您的帮助。 问候

最佳答案

您可以使用 .prev() 获取紧靠在前的同级,然后显示/隐藏它们。

$('div.show').prev('h1').addBack().show();
$('div.dontshow').prev('h1').addBack().hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>This must be displayed because next element is div class="show"</h1>
<div class="show">
  <p>Show header above</p>
</div>

<h1>This should not be displayed because next element is NOT div class="show"</h1>
<div class="dontshow">
  <p>Don't show header above</p>
</div>

引用文献

关于javascript - 根据下一个元素的类显示/隐藏一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41804252/

相关文章:

javascript - 使用 nth-child 和 :after pseudo using jQuery 修改 css 类

jquery - 有没有办法将子 div 仅添加到其父 div 的一部分?

javascript - 修改基础 form.reset() 值

jquery - 如何将同位素元素放在可滚动的 div 中并保留 jquery 悬停状态效果?

javascript - Bootstrap 4 中的 Navbar 药丸颜色填充全高

javascript - 无法从 PrimeFaces 命令按钮调用 JavaScript 方法

javascript - 同步使用 Angular Http.Get()

javascript - 当我在 javascript 文件中运行它但未嵌入 html 文件时,该函数有效

css - 如何异步加载样式表(使用 loadCSS)

css - 调整窗口大小时如何使元素居中