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

Javascript 根据下一个元素的类显示/隐藏元素,javascript,jquery,css,display,getelementsbyclassname,Javascript,Jquery,Css,Display,Getelementsbyclassname,对于有经验的javascript用户来说,这个问题可能很容易解决,但我自己无法解决 我想添加一个javascript代码,如果下一个html元素有一个特定的类,它将显示或隐藏一个元素h1。这里没有父/子元素,只有下一个元素。 请注意,Jquery已经加载 下面是一个例子: <h1>This must be displayed because next element is div class="show"</h1> <div class="show"> &

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

我想添加一个javascript代码,如果下一个html元素有一个特定的类,它将显示或隐藏一个元素h1。这里没有父/子元素,只有下一个元素。 请注意,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; 必须显示此项,因为下一个元素是div class=show 显示上面的标题

由于下一个元素不是div class=show,因此不应显示该元素 不显示上面的标题

您可以使用.prev获取紧挨着前面的同级,然后显示/隐藏它们

$'div.show'.prev'h1'.addBack.show; $'div.dontshow'.prev'h1'.addBack.hide; 必须显示此项,因为下一个元素是div class=show 显示上面的标题

由于下一个元素不是div class=show,因此不应显示该元素 不显示上面的标题


请查找下面的代码片段

$h1.每个函数索引{ 如果$this.next.hasClassshow { $this.show; } 其他的 { $this.hide; } }; 必须显示此项,因为下一个元素是div class=show 显示上面的标题

由于下一个元素不是div class=show,因此不应显示该元素 不显示上面的标题


请查找下面的代码片段

$h1.每个函数索引{ 如果$this.next.hasClassshow { $this.show; } 其他的 { $this.hide; } }; 必须显示此项,因为下一个元素是div class=show 显示上面的标题

由于下一个元素不是div class=show,因此不应显示该元素 不显示上面的标题

用于获取上一个同级元素

document.querySelector.dontshow.previousElementSibling.style.display='none'; document.querySelector.show.previousElementSibling.style.display='block'; dontshow先生{ 显示:无; } 必须显示此项,因为下一个元素是div class=show 显示上面的标题

由于下一个元素不是div class=show,因此不应显示该元素 不显示上面的标题

用于获取上一个同级元素

document.querySelector.dontshow.previousElementSibling.style.display='none'; document.querySelector.show.previousElementSibling.style.display='block'; dontshow先生{ 显示:无; } 必须显示此项,因为下一个元素是div class=show 显示上面的标题

由于下一个元素不是div class=show,因此不应显示该元素 不显示上面的标题


顺便提一下,为什么不把h1标签放在div中呢

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

<div class="dontshow">
  <h1>Don't show</h1>
  <p>Don't show header above</p>
</div>

顺便提一下,为什么不把h1标签放在div中呢

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

<div class="dontshow">
  <h1>Don't show</h1>
  <p>Don't show header above</p>
</div>

非常短的n甜味:非常短的n甜味:因为结构是由CMS生成的^^CMS可能会基于模板生成内容-如果您有权访问它,那么这可能值得一看是否可以编辑而不是使用JS!。谢谢,不过还是要检查一下^^^,因为结构是由CMS生成的^^CMS可能会基于模板生成内容-如果您有权访问它,那么这可能值得一看是否可以编辑而不是使用JS!。谢谢,我只是随便看看^^