javascript - 未捕获的 TypeError : Cannot read property 'add' of undefined: event. 目标变量将类添加到类名

标签 javascript

我有这个代码:

    var button = $(event.target);
    var videoElement = button.parents(".video-row").find("iframe");
    src = videoElement.attr("src");
    title = videoElement.attr("title");
    description = videoElement.attr("description");
    ...
    button.classList.add("green-button");  //error here

这给出了这个错误:

Uncaught TypeError: Cannot read property 'add' of undefined

button 变量似乎有问题。我该如何修复它?

最佳答案

您正在使用 jQuery ($) 定义 button,但随后调用 .classList,就好像 button 是一个原生 DOM 元素。其实不是,它是 jQuery 的一个实例。您需要使用 .addClass() jQuery 方法:

button.addClass("green-button");

或者,如果您想使用.classList,您可以执行以下操作:

button[0].classList.add('green-button')

[0] 从 jQuery 实例获取实际的 DOM 元素。

关于javascript - 未捕获的 TypeError : Cannot read property 'add' of undefined: event. 目标变量将类添加到类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60843271/

相关文章:

javascript - 除了简单的 for 循环之外,还有更干净或更聪明的方法来输出数组的内容吗?

javascript - WKWebView.EvaluateJavaScript 永远不会返回

JavaScript 删除数组[i]——在 OSX 中运行良好,但在 Windows 中无法运行?

javascript - 将点击事件处理程序附加到通过 dangerouslySetInnerHTML 注入(inject)的链接的模式

javascript - 限制 Metro-ui datetimepicker 中的过去日期

javascript - jQuery 计数 div 并在 20 后添加类

javascript - Bootstrap Carousel 在 Bootply 中工作,而不是在浏览器中工作

javascript - $资源:badcfg when calling sharepoint rest service using angular

javascript - 普通 Javascript 和 Dom 性能

javascript - 如果子级有使用 jQuery 的类,则将其应用于父级