【问题标题】:Wait for a child of class in jQuery? [duplicate]在 jQuery 中等待一个类的孩子? [复制]
【发布时间】:2018-01-21 00:57:08
【问题描述】:

我正在为Roblox 制作一个 Chrome 扩展程序,我需要等待某个元素的所有子元素加载,以便我可以对它们进行处理。目前,这会记录所有添加的元素,但我需要更深入地挖掘他们的孩子以找到“游戏卡名称”类,但每当我这样做时它似乎都不存在$(e).find("game-card-name")

console.log("Roblox Bookmark Loaded");

$(document).on("DOMNodeInserted", function(e) {
    if ($(e.target).hasClass("game-card")) {
        console.log(e);
    }
});

我需要的是一种在 jQuery 中搜索 的方法,并等待元素存在,并可能在属性出现之前产生。如果有人有 jQuery 答案,请发帖!

编辑:我没有做 $(e.target)。我解决了这个问题

【问题讨论】:

  • "但每当我执行 $(e).find("game-card-name")" 时,它似乎都不存在,问题中的代码检查 if ($(e.target).hasClass("game-card"))。是您尝试匹配不正确的.className 的问题吗?你在检查哪个.className
  • 我在 if 语句中使用$(e).find("game-card-name")。对不起,如果我不清楚。 @guest271314
  • 您驳回了@spanky 的回答,尽管他们的回答对于问题代码中的特定问题是准确的

标签: javascript jquery html google-chrome-extension roblox


【解决方案1】:

但我需要更深入地挖掘他们的孩子才能找到“游戏卡名”类,但每当我这样做时它似乎都不存在$(e).find("game-card-name")

您在选择器中缺少 . 来查找类。

//---------v
$(e).find(".game-card-name")

您的选择器正在寻找带有标签名称的元素,例如<tame-card-name>

【讨论】:

  • jQuery 不关心 "."在查找中,并添加“。”没有帮助我。每当我记录文本时,它什么都不记录(旁边是蓝色的 66,因为在我第一次加载时,该类有 66 个不同的元素)
  • @AlreadyPro:jQuery 使用并构建在用于 CSS 和 JS 选择器引擎的 Selectors API 之上,因此 jQuery 在执行基于类名的选择时确实需要 .
  • 问题中没有足够的信息来了解可能还有什么问题。
  • 虽然是这样,但还是没有解决我的问题。
  • @AlreadyPro:很遗憾,我们无法解决我们看不到的问题。您需要提供一个完整的示例以及您已经执行的调试结果的描述。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-30
  • 2021-04-28
  • 2012-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-07
相关资源
最近更新 更多