当 href getElementById 为 null 时,Javascript 错误

标签 javascript

我有一个弹出窗口,允许用户更改 href(如果设置或未设置)。如果未设置,我将显示“可选网络链接”作为字段标题。但是,我在“if”行上收到一个 JavaScript 错误,表明 href 为空。如何在不出现错误的情况下获取 href 或对其进行测试?在此应用程序中,href 有时将为空,因此我需要我的脚本以某种方式处理它。

if (document.getElementById('sidebarhref-'+id).href == '') {
    var href = document.getElementById('sidebarhref-'+id).href;
} else {
    var href = 'optional web link';
}

最佳答案

在尝试访问 getElementById 的属性之前测试其返回值是否为真值。

var element = document.getElementById('sidebarhref-'+id);
if (element && element.href === "") {
// etc

关于当 href getElementById 为 null 时,Javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37004877/

相关文章:

javascript - Jest 测试一个没有返回值的函数

javascript - 无法限制所选复选框的数量(尝试了多个片段)

javascript - 经典继承中是否需要更改子类的 "prototype.constructor"

javascript - 使用动态 html 填充元素

javascript - 限制 AngularJS 中的分页

javascript - ES6 : How to call a class function from a callback function

javascript - 如何在不影响覆盖文本不透明度的情况下更改 css 中图像的不透明度

javascript - 为 Web 压缩和调整图像大小

javascript - jQuery 克隆和重命名子元素

javascript - 匹配字符串中模式的多个实例