Javascript 从数组中删除TableCellElement会停止innerHTML的工作吗?

Javascript 从数组中删除TableCellElement会停止innerHTML的工作吗?,javascript,arrays,greasemonkey,alert,Javascript,Arrays,Greasemonkey,Alert,在Greasemonkey中使用JavaScript,我试图提取单个单元格,并读取每个单元格的innerHTML,以搜索给定字符串 有一个3x3的表格,我想先按中间的顺序搜索它们,然后根据情况,移动到不一定是线性级数(即左上、左上、左上、右上、左下、右下、右下) 我将每个单元格放入一个数组中,并使用splice(),将单元格分配给一个变量。出于测试目的,我使用cell变量本身抛出了2个警报,然后是cellinnerHTML 当我只使用变量时,警报会显示[object HTMLTableCellE

在Greasemonkey中使用JavaScript,我试图提取单个单元格,并读取每个单元格的
innerHTML
,以搜索给定字符串

有一个3x3的表格,我想先按中间的顺序搜索它们,然后根据情况,移动到不一定是线性级数(即左上、左上、左上、右上、左下、右下、右下)

我将每个单元格放入一个数组中,并使用
splice()
,将单元格分配给一个变量。出于测试目的,我使用cell变量本身抛出了2个警报,然后是cell
innerHTML

当我只使用变量时,警报会显示
[object HTMLTableCellElement]
,但
innerHTML
未定义

我创建了一个模拟页面来展示我的示例。这是代码(


0
1.
2.
3.
4
居中 5. 6. 7. 8. var tables=document.getElementsByTagName(“表”); 表[0].style.border=“单色红色”; 表[0]。id=“网格”; 变量网格=表[0]; var cells=新数组(); 单元格[0]=网格。行[0]。单元格[0];//nw 单元格[1]=网格。行[0]。单元格[1];//n 单元格[2]=网格。行[0]。单元格[2];//ne 单元格[3]=网格。行[1]。单元格[0];//w 单元格[4]=网格。行[1]。单元格[1];//c 单元格[5]=网格。行[1]。单元格[2];//e 单元格[6]=网格。行[2]。单元格[0];//sw 单元格[7]=网格。行[2]。单元格[1];//s 单元格[8]=网格。行[2]。单元格[2];//se var grid_string=“”; 函数计数(单元格){ var human_regex=/human/; var humans=cell.innerHTML.split(human_regex); var humans_length=humans.length-1; 返回长度; } 对于(a=0;a<9;a++){ 单元格[a]。计数=人类计数(单元格[a]); 网格字符串+=单元格[a]。计数+“”; 如果(a==2 | | a==5){ 网格字符串+=“
”; } } var direction=0;//nw var中心=细胞。拼接(4,1); 警报(“中心:+中心”); 警报(“innerHTML:+center.innerHTML”);
center
不是元素,因此它没有
innerHTML
属性。
center
是一个元素数组,因此如果使用:

alert ("innerHTML: " + center[0].innerHTML);
你会看到你所期待的

~~~

该警报
警报(“中心:“+center”);
具有误导性,因为它显示的
[]
相同


要获得更准确(且更少烦人)的调试,请不要使用
alert()
。请使用
console.log
,例如:
console.log(“中心:”,中心);
--这将显示数组与元素不同,并且不会弹出模式对话框。

当我使用splice将其拉出时,我甚至没有想到将其视为数组。非常感谢。
alert ("innerHTML: " + center[0].innerHTML);