2013-09-05 1 views
1

Я пытаюсь получить значение моей колонки тд с определенным классом (tablecellname):возвращения 1-й столбец из таблицы снова и снова

    $('#MainContent_myTable tr').each(function() { 
         console.log($('.tablecellname').html()); 
        }); 

Я думаю, что я получаю правильное количество строк в таблице но это только дает мне 1-е значение (повторяется).

<table id='MainContent_myTable'> 
    <tr> 
     <td class='tablecellname'>abc</td> 
     <td class='tablecellcode'>111</td> 
    </tr> 
    <tr> 
     <td class='tablecellname'>def</td> 
     <td class='tablecellcode'>222</td> 
    </tr> 
    <tr> 
     <td class='tablecellname'>ghi</td> 
     <td class='tablecellcode'>333</td> 
    </tr> 
    <tr> 
     <td class='tablecellname'>jkl</td> 
     <td class='tablecellcode'>444</td> 
    </tr> 
    <tr> 
     <td class='tablecellname'>mno</td> 
     <td class='tablecellcode'>555</td> 
    </tr> 
    <tr> 
     <td class='tablecellname'>pqr</td> 
     <td class='tablecellcode'>666</td> 
    </tr> 
    <tr> 
     <td class='tablecellname'>stu</td> 
     <td class='tablecellcode'>777</td> 
    </tr> 
    <tr> 
     <td class='tablecellname'>vwx</td> 
     <td class='tablecellcode'>888</td> 
    </tr> 
    <tr> 
     <td class='tablecellname'>yz</td> 
     <td class='tablecellcode'>999</td> 
    </tr> 
</table> 

Это только печатает abc снова и снова.

Что я делаю неправильно?

ответ

4

$('.tablecellname') выбирает все элементы во всем документе, которые соответствуют. Вместо этого в функции вы хотите, чтобы найти детей в в настоящее время повторного элемента:

$(this).find('.tablecellname').html() 
+1

Или вы можете использовать контекстный селектор (мое предпочтение) '$ ('tablecellname.', Это) .html(); ' –

1

$('#MainContent_myTable tr').each делает подсчет каждое вхождение <TR> однако с помощью $('.tablecellname').html()) будет возвращать только первый экземпляр класса происходит в HTML.

Вы должны будете использовать $(".tablecellname").each