我尝试解析网站,但出现问题。当我解析带有空元素的表
type = elements[i].getElementsByClassName("listing-item__type");
我有这个
VM56462:7 Uncaught TypeError: Cannot read property 'innerText' of undefined
at <anonymous>:7:25
如何解决?是否可以检查元素为空?
答案 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
之前,请访问第一个,并检查是否为真。