2013-12-09 3 views
-1

Вы можете увидеть следующий код, где я пытаюсь выбрать третий td из таблицы, чтобы подсчитать дубликаты.javascript select td's и count duplicates

Я хочу сохранить их в новом массиве и использовать новый массив для повторения и поиска дубликатов.

Я пробовал следующие, чтобы выбрать желаемый 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>... 
+0

'content = new Array();' или 'content = []'. 'и content [i] = ...'. ваш код полон ошибок – karaxuna

ответ

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); 
+0

спасибо. im начинающий программист .. im sry мое мышление было неправильным способом – Mace83

Смежные вопросы