【发布时间】:2012-10-04 17:37:57
【问题描述】:
我正在尝试从按行排序的列表中获取每 3 个名称的第一个日期。 数组是动态的。没有数组,它工作得很好......
但是从这里我无法让它工作。有没有办法让数组进入匹配?
var array=new Array();
array[1]='name1';
array[2]='name2';
array[3]='name3';
for (var k = 1; k <= array.length; k++) {
tow = document.getElementById('cal_table');
zap = tow.getElementsByTagName('tr');
for (var i=1; i<=zap.length; i++){
opt0 = zap[i].innerHTML.match(/<td>array[k]<\/td>|<td>.*2012<\/td>/img);
if(opt0.length==2){
alert(opt0);
break
}
}
}
【问题讨论】:
-
为什么你的数组从索引
1而不是0开始? -
小贴士:将
tow和zap移到循环外,这样代码会更快 -
您是在问 a) 如何从数组中获取每三个元素,b) 如何使用该元素的值来构建正则表达式?
-
另外,鉴于您似乎没有在任何地方使用
tow(除了查找tr元素),您可以只使用zap = document.getElementById('cal_table').getElementsByTagName('tr');
标签: javascript arrays match innerhtml