javascript - 当元素不存在时如何避免 "Cannot read property"错误?

标签 javascript jquery if-statement

这是我的代码:

category = $(document).find(".chosen-single:not(.chosen-default)  > span:first-child")[0].outerHTML

有时它会抛出:

Uncaught TypeError: Cannot read property 'outerHTML' of undefined

我应该为此设置什么样的条件?

最佳答案

一个不错的技巧是使用匿名函数,就像这样,将查询作为参数传递

category = (function (el) {
             return (el) ? el.outerHTML : '';
           })($(document).find(".chosen-single:not(.chosen-default) > span:first-child")[0]);

它将节省您设置额外变量和 if/then/else 语句的麻烦。

关于javascript - 当元素不存在时如何避免 "Cannot read property"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49257289/

相关文章:

sql - SQL 中 IF 的正确用法

javascript - 如何让这个动画从右向左移动?

javascript - 加载初始文件后无法加载附加文件

javascript - 如何使用 PHP 将输入表单记录到文本文件并激活函数

javascript - 通过 DOM 和 Opera 扩展将 JQuery 注入(inject)实时网页

javascript - 检查 null 的条件语句不起作用

javascript - Youtube API - 从视频中获取笔记?

php - Javascript 确认删除

jQuery:将字符串添加到 URL

if-statement - 解决Tableau中IF结果的汇总和非汇总混合错误