Javascript 切换兄弟段落

Javascript 切换兄弟段落,javascript,jquery,Javascript,Jquery,我有一个问题: 我的html: 我想隐藏以在人们单击标题时切换属性。 但是,当人们点击div时,我最终切换了它们。 我可以将按钮更改为单击,但随后在showDefinition函数中失去了上下文。我该怎么做?我在这里使用jquery。您可以使用next()查找下一个兄弟姐妹。这样,您可以针对事件属性的h1并切换其下一个同级。下面是应该可以工作的代码,尽管我注释掉了一行,我认为这行非常棒,因为它在切换元素之前一直隐藏元素 $(document).ready(function(){ var at

我有一个问题: 我的html:

我想隐藏以在人们单击标题时切换属性。 但是,当人们点击div时,我最终切换了它们。 我可以将按钮更改为单击,但随后在showDefinition函数中失去了上下文。我该怎么做?我在这里使用jquery。

您可以使用
next()
查找下一个兄弟姐妹。这样,您可以针对事件属性的h1并切换其下一个同级。下面是应该可以工作的代码,尽管我注释掉了一行,我认为这行非常棒,因为它在切换元素之前一直隐藏元素

$(document).ready(function(){
  var attributeHeader = $('.attribute h1');
  attributeHeader.each(function() {
      //$(this).next('ul').hide();
      $(this).on('click',showDefinition);
      function showDefinition(event) {
          $(this).next('ul').toggle();
      }
  });
});
您可以使用
next()
查找下一个兄弟姐妹。这样,您可以针对事件属性的h1并切换其下一个同级。下面是应该可以工作的代码,尽管我注释掉了一行,我认为这行非常棒,因为它在切换元素之前一直隐藏元素

$(document).ready(function(){
  var attributeHeader = $('.attribute h1');
  attributeHeader.each(function() {
      //$(this).next('ul').hide();
      $(this).on('click',showDefinition);
      function showDefinition(event) {
          $(this).next('ul').toggle();
      }
  });
});

非常感谢你的回答。我的例子实际上有点复杂:我的html代码看起来是这样的:我不仅有一个要切换的列表,还有一个在列表后面的div,所以我想同时切换这两个元素。你能告诉我怎么做吗?我找到了:我必须使用
nextAll()
而不是
next()
来切换两个HTML元素。非常感谢你的回答。我的例子实际上有点复杂:我的html代码看起来是这样的:我不仅有一个要切换的列表,还有一个在列表后面的div,所以我想同时切换这两个元素。你能告诉我怎么做吗?我找到了:我必须使用
nextAll()
而不是
next()
来切换两个HTML元素。
$(document).ready(function(){
  var attributeHeader = $('.attribute h1');
  attributeHeader.each(function() {
      //$(this).next('ul').hide();
      $(this).on('click',showDefinition);
      function showDefinition(event) {
          $(this).next('ul').toggle();
      }
  });
});