空元素和getElementsByClassName

时间:2019-06-29 10:25:06

标签: javascript html parsing

我尝试解析网站,但出现问题。当我解析带有空元素的表

type = elements[i].getElementsByClassName("listing-item__type");

我有这个

VM56462:7 Uncaught TypeError: Cannot read property 'innerText' of undefined
    at <anonymous>:7:25

如何解决?是否可以检查元素为空?

2 个答案:

答案 0 :(得分:1)

由于getElementsByClassName返回一个数组,因此不能将数组视为DOM元素,需要获取索引并使用

if (type[0] != undefined && type[0].innerText){
// add code here
}

答案 1 :(得分:-1)

在不查看HTML结构的情况下,您可以通过以下方式检查元素的存在:

if (type) {
   // "type" is not undefined
}

还请注意,“类型”将返回一个元素数组(因为您使用的是getElementsByClassName)。在检查.innerText之前,请访问第一个,并检查是否为真。