尝试获取 table 单元格值时出错
Error when trying to getting table cell value
我正在尝试从 this website 创建一个 IP 地址和端口号数组。
但问题是我得到一个错误
TypeError: table.rows[i].cells[0].getElementsByTagName(...)[0] is undefined
这是我的代码:
var table = document.getElementsByClassName('DataGrid')[0];
var n = table.rows.length;
console.log(n);
var list="";
for(var i=1;i<n;i++){
//var ip = table.rows[i].cells[1].innerHTML;
var port = table.rows[i].cells[0].getElementsByTagName("a")[0].innerHTML; // error here
//list+="{"+ip+","+port+"}";
}
第一个单元格值模式如下。
<td><script type="text/javascript">IPDecode("")</script><a href="http://www.freeproxylists.net/1.179.183.85.html">1.179.183.85</a></td>
所以我认为我做对了。我是不是犯了一些愚蠢的错误?
注意:我调试并且已经发现有些行没有第二个单元格,但问题是我得到了一个错误。我没有得到至少一个输出预期长度。见图:
此 table 的某些行包含添加项,并且不遵循您尝试获取的行(单元格(a))结构。每当你得到 get...By...
的结果时,你应该检查它是否为空,如果它只是跳过 continue
.
的循环
我正在尝试从 this website 创建一个 IP 地址和端口号数组。 但问题是我得到一个错误
TypeError: table.rows[i].cells[0].getElementsByTagName(...)[0] is undefined
这是我的代码:
var table = document.getElementsByClassName('DataGrid')[0];
var n = table.rows.length;
console.log(n);
var list="";
for(var i=1;i<n;i++){
//var ip = table.rows[i].cells[1].innerHTML;
var port = table.rows[i].cells[0].getElementsByTagName("a")[0].innerHTML; // error here
//list+="{"+ip+","+port+"}";
}
第一个单元格值模式如下。
<td><script type="text/javascript">IPDecode("")</script><a href="http://www.freeproxylists.net/1.179.183.85.html">1.179.183.85</a></td>
所以我认为我做对了。我是不是犯了一些愚蠢的错误?
注意:我调试并且已经发现有些行没有第二个单元格,但问题是我得到了一个错误。我没有得到至少一个输出预期长度。见图:
此 table 的某些行包含添加项,并且不遵循您尝试获取的行(单元格(a))结构。每当你得到 get...By...
的结果时,你应该检查它是否为空,如果它只是跳过 continue
.