如何忽略jQuery中的“无法读取属性”错误

How do you ignore 'cannot read property 'error in jQuery

提问人:randomuser37487593 提问时间:7/12/2021 更新时间:7/12/2021 访问量:103

问:

我制作了一个程序,用于创建一个 div 元素并将该元素的内部文本设置为与另一个 div 元素相同。文本只是有时(因为它用于显示通知),因此在大多数情况下,innerText 属性为空。

当我运行程序时,我不断收到错误打印到控制台“jQuery.Deferred 异常:无法读取未定义的属性”innerText”。这显然是因为没有文字。如何忽略此错误消息并且不将其打印到控制台(这是针对我的网站,因此我不希望显示它)。

我试过了,但这不起作用,我也尝试过 try-catch 语句,但也没有用。if ( myDiv[0].innerText != "") {//code here}

谢谢

JavaScript jQuery 错误处理 InnerText

评论


答:

1赞 user15388024 7/12/2021 #1

该错误意味着它不存在。如果要读取该值,可以使用可选链接 (?.) 添加检查myDiv[0]

myDiv?.[0]?.innerText

它相当于

myDiv && myDiv[0] && myDiv[0].innerText

如果要设置内部文本,则需要一个 if 条件

if (myDiv?.[0]) {
    myDiv[0].innerText = 'new Text';
}