javascript选择td并计算重复数

时间:2013-12-09 12:43:09

标签: javascript html html-table

您可以看到以下代码,我尝试从表中选择第三个td来计算重复项。

我希望将它们保存在一个新数组中并使用新数组进行迭代并找到重复数据。

我尝试按照选择想要的td。 Firefox为我提供了td <sport>标记所在的所有项目,但IE只显示了一个运动标记。请注意,代码位于表格

之后
function doIt()
{   

var table = document.getElementById('table');
var tr = table.getElementsByTagName('tr');
content = new Array;

for (var i=0; i<tr.length; i++)
{
content = tr[i].getElementsByTagName('td')[2].innerHTML;
document.write(content);
}
}

<tr class="grey">
  <td><Date>25.09.2014</Date></td>
  <td><Time>09:00:00</Time></td>
  <td><Sport>Soccer, Tennis</Sport></td>
</tr>
<tr class="blue">
  <td><Date>25.09.2014</Date></td>
  <td><Time>09:45:00</Time></td>
  <td><Sport>Basketball, Volleyball</Sport></td>
</tr>
<tr class="grey">
  <td><Date>25.09.2014</Date></td>
  <td><Time>10:00:00</Time></td>
  <td><Sport>Soccer, Tennis</Sport></td>
</tr>...

1 个答案:

答案 0 :(得分:1)

我希望我理解你想要的东西。这是一个有效的JS。它会查看所有sport标记,只添加不标记的标记。的 JSFiddle here

// Initialize empty array    
var array = [];

// Get all the sport tags
var sportTags = document.getElementsByTagName('sport');

// Iterate over the sport tags
for(var i = 0; i < sportTags.length; i++){
    // Get the inner HTML
    var current = sportTags[i].innerHTML;

    // If it does not already exist, add it to the array
    if (array.indexOf(current) < 0) {
        array.push(current);
    }
}

// Print the array to check the results
alert(array);