提问人:randomuser37487593 提问时间:7/12/2021 更新时间:7/12/2021 访问量:103
如何忽略jQuery中的“无法读取属性”错误
How do you ignore 'cannot read property 'error in jQuery
问:
我制作了一个程序,用于创建一个 div 元素并将该元素的内部文本设置为与另一个 div 元素相同。文本只是有时(因为它用于显示通知),因此在大多数情况下,innerText 属性为空。
当我运行程序时,我不断收到错误打印到控制台“jQuery.Deferred 异常:无法读取未定义的属性”innerText”。这显然是因为没有文字。如何忽略此错误消息并且不将其打印到控制台(这是针对我的网站,因此我不希望显示它)。
我试过了,但这不起作用,我也尝试过 try-catch 语句,但也没有用。if ( myDiv[0].innerText != "") {//code here}
谢谢
答:
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';
}
评论