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