【问题标题】:ClassList contains of elements childClassList 包含子元素
【发布时间】:2017-05-25 00:36:31
【问题描述】:

我知道这段代码是错误的,我只是不确定如何修复它。 基本上我想要实现的是,如果wrapper 的孩子有一个类名schooner,那么某个函数将运行。我会有很多这样的,但是所有的父母都被命名为wrapper

for (i = 0; i < document.getElementsByClassName('wrapper').length; i++) {
    if document.getElementsByClassName('wrapper')[i].firstChild.classList.contains('schooner') {
        console.log('hello');
    }
}

【问题讨论】:

  • 不是答案:您不应该继续使用document.getElementsByClassName 将结果存储在变量中并引用 HTMLCollection。每次在循环中调用它时,它都需要查询 DOM,因此速度很慢。 问题 我看到的是您的 if 语句不是有效的 JavaScript。缺少括号。控制台应该有错误消息。
  • 你不会错过一些 if 的括号吗? if(document.getEl....)
  • @Sepultura 是正确的,这就是我遇到的问题,谢谢
  • 最简单的获取元素的方法...var elems = document.querySelectorAll(".wrapper &gt; .schooner");

标签: javascript for-loop parent-child contains


【解决方案1】:

我会像这样尝试 jquery:

$(".wrapper").each(function(){ if($(this).first().contains('schooner')){ console.log('hello') } });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 2022-06-14
    • 2011-09-06
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多