代码之家  ›  专栏  ›  技术社区  ›  Daiaiai

这个和parentElement

  •  0
  • Daiaiai  · 技术社区  · 5 年前

    如果一个元素的子元素被单击,我想对它进行操作(通过向它添加css类)。

    function mahlzeitRaus() {
        console.log("Raus");
        //this.className += " not";
        this.parentElement.className += " not";
    
    }
    

        window.onload = function() {
            document.getElementsByClassName('trigger_mahlzeit_delete')[0].addEventListener('click', mahlzeitRaus);
        }
    

    我确实有两个问题,我知道这是违反礼节的,但我猜它们是相互联系的:

    ('trigger\u mahlzeit\u delete')[0] 我总是只针对第一个有这个类的元素,但是我想针对每个被点击的元素。我该怎么做呢?

    2显然,父元素的目标不起作用,但至少控制台上记录了一些内容,所以我猜我以父元素为目标的方式是不正确的(我想这与第一个问题是同一个问题),但是我如何解决这个问题呢?

    1 回复  |  直到 5 年前
        1
  •  1
  •   Mamun    5 年前

    this 对函数:

    document.getElementsByClassName('trigger_mahlzeit_delete')[0].addEventListener('click', function(){mahlzeitRaus(this)});
    

    然后在函数中使用:

    function mahlzeitRaus(el) {
      console.log("Raus");
      //this.className += " not";
      el.parentElement.className += " not";
    }