开发者问题收集

未捕获的类型错误:无法读取 null 的属性(读取‘className’)

2021-12-16
7049

我已更新应用程序中的 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;
}

在此处输入图片说明

在此处输入图片说明

2个回答

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;
}
Akhilraj R
2021-12-16

作为 Spring 22 版本中增强安全功能的一部分,Salesforce 已将一些组件移至私有 API。导致弹出此错误。 不幸的是,发行说明中没有提到这一点,但您可以在控制台中找到“sfdc-lightning/charts/vbar.js 已被弃用。请更新您的代码以使用 lightning-vbar-chart”。

解决方法是使用 lightning 页面中的标准“报告图表”组件。

Pradeep Kumar Rachamalla
2022-01-25