在Vanilla JS中针对父母元素的下一个兄弟姐妹

时间:2019-05-02 19:25:32

标签: javascript html

请原谅我的无知,我会尽量保持清楚。我试图修改将类添加到父元素的现有JS函数。我想对其进行修改,以将相同的类添加到父级的同级对象中,在这种情况下,除了“ .footnote-right-col”之外。

我尝试了很多方法,但这超出了我的范围。我不确定是否需要创建一个新函数并分别调用它,或者是否可以简单地向该函数添加一个新变量。我猜想我的目标父母是通过getParent.nextSibling

JS也是如此

  open: function (el) {
      this.footnote.el = getParent(el, '.footnote-container')
      var popover = this.footnote.popover()

      this.footnote.el.classList.add('is-open')
      this.sizeFootnote()

      popover.classList.remove('is-hidden')

      this.positionFootnote()
      popover.classList.add('is-visible')
      window.addEventListener("resize", self.resize.bind(self))
    },

呈现的HTML

<div class="footnote-container open-down">
   <button class="footnote-button" title="view footnote #1">...</button>
   <aside class="footnote-popover is-hidden">...</aside>
</div>
<aside class="footnote-right-col is-hidden">...</aside>

1 个答案:

答案 0 :(得分:0)

this.footnote.el.nextElementSibling如果我了解您的设置方式,那么应该为您带来.footnote-right-col元素。如果this.footnote.el<div class="footnote-container open-down">元素,那么我的答案有效。有了该div之后,您就可以调用.nextElementSibling

编辑: 好的,如果this.footnote.el是按钮,那么只需执行以下操作: this.footnote.el.parentElement.nextElementSibling,您应该拥有它!

因此要添加类: this.footnote.el.parentElement.nextElementSibling.classList.add('is-open')