【问题标题】:JavaScript / jQuery "Uncaught TypeError" classListJavaScript / jQuery“未捕获的类型错误”类列表
【发布时间】:2016-06-08 10:12:13
【问题描述】:

我已经搜索了答案,但我什么也没找到。所以如果您认为这是重复的,请告诉我,我会删除它,谢谢。

当我写body.classList.add("someExampleClass"); 之类的东西时,控制台会给我Uncaught TypeError: Cannot read property 'add' of undefined。我已经添加了 CDN

//cdnjs.cloudflare.com/ajax/libs/classlist/2014.01.31/classList.min.js

但它仍然存在错误,我已尝试使用 Chrome 和 Safari。

这是完整的代码:

HTML

  <svg height="35" width="35" id="rect1" class="" onmouseover="over()">
      <rect width="35" height="35"/>
  </svg>

JS

function over() {
  $('p').classList.add("purple");
}

在此先感谢大家,祝您有美好的一天。

【问题讨论】:

  • 你需要 $('p').addClass("purple") 吗?
  • 我在您的 HTML 中没有看到任何 p-tag。你什么时候调用你的over() 函数?可能classList-js 还没加载?

标签: javascript jquery html class


【解决方案1】:

你应该试试这个:

$('p')[0].classList.add("purple");

或者这个:

$('p').addClass("purple");

【讨论】:

    【解决方案2】:

    classList 是一个 DOM 属性。所以你的代码应该是,

    $('p')[0].classList.add("purple");
    

    或者

     $('p').get(0).classList.add("purple");
    

    $('p') 是一个 jquery 对象,get() 会将其转换为 dom 对象。

    或者你可以简单地使用,

    $('p').addClass("purple")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-03
      • 2013-12-03
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多