我正在使用简单的长度函数来根据 id 检查大于零的长度。我使用的代码是
if ($('#abcd').length > 0)
{
var abcd = $('#abcd').val();
}
这段代码工作正常,没有产生任何错误。但是如果我以这种方式使用简单的javascript
if (document.getElementById('abcd').length > 0)
{
var abcd = document.getElementById('abcd').val();
}
然后它不起作用并产生此错误“Uncaught TypeError:无法读取 null 的属性’length’”。这个错误是什么意思,我怎样才能让它工作?
原文由 Upendra Sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果该元素不存在,则
getElementById
方法将返回null
并且您正在尝试获取它的length
抛出异常的属性。相反,只需在 if 条件下检查它是否已定义。使用变量而不是获取元素两次。虽然没有
val()
作为 jQuery 方法的 DOM 元素方法,而是使用value
属性来获取值。