【问题标题】:Uncaught TypeError: Cannot read properties of null (reading 'className')未捕获的类型错误:无法读取 null 的属性(读取“类名”)
【发布时间】:2022-01-19 12:19:08
【问题描述】:

我已经更新了应用程序中的 jQuery 版本,并且在使用 jQuery 3.5.0 的 DatePickerComponent 中出现错误。这里我在 .ClassName 上出现错误;我不知道该怎么办

...
else {
    if (myOwnFormat == 'HH:mm:ss' || myOwnFormat == 'HH:mm') {
        var className = document.getElementById("icon_" + pickerId).className;
        $("#icon_" + pickerId).removeClass(className).addClass("alarm_clock");
    }
    return myOwnFormat;
}

【问题讨论】:

  • 错误是因为document.getElementById("icon_" + pickerId)没有返回元素。
  • 您正在阅读课程以便将其删除 - 只需将其删除。 $("#icon_..").attr("class", "hcm-grid_calar_satt")

标签: javascript jquery jquery-ui


【解决方案1】:

document.getElementById("icon_" + pickerId) 正在返回 null,而您正试图从 null 获取 .className。这应该可以解决您的错误。

else {
  if (myOwnFormat == 'HH:mm:ss' || myOwnFormat == 'HH:mm') {
    if(document.getElementById("icon_" + pickerId)) {
       var className = document.getElementById("icon_" + pickerId).className;
       $("#icon_" + pickerId).removeClass(className).addClass("hcm-grid_calar_saat");
    }
  }
  return myOwnFormat;
}

【讨论】:

  • 小改进:var icon = document.getElementById("icon_" + pickerId; if (icon) { var className = icon.className - 尝试减少 DOM 操作的数量。就其本身而言,它是一个微优化,但如果它被调用 1000 次以上,就会产生影响。
猜你喜欢
  • 2021-12-01
  • 2022-07-02
  • 2022-06-14
  • 2022-10-23
  • 2012-05-31
  • 2021-11-18
  • 2021-12-21
  • 1970-01-01
相关资源
最近更新 更多