2015-02-26 2 views
-3

У меня есть 3 таблицы на странице и написал следующее, чтобы сделать что-то со всеми элементами.

$('td').each(function(){ 
    //do something 
}); 

Но он работает только для первой таблицы. Как это исправить?

+0

попробовать с '$ ('стол' тд) each' –

+1

Как вы знаете, это не работает.? – insanebits

+0

делает '$ ('td'). Length' дает вам то, что вы ожидаете? – atmd

ответ

0

Может быть что-то не так с вашими пометками

$('td').each(function(idx){ 
 
    document.write("<br/>idx: " + idx) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr><td></td><td></td></tr> 
 
</table> 
 

 
<table> 
 
    <tr><td></td><td></td></tr> 
 
</table>

0

Попробуйте это ..

<table> 
    <tr> 
    <td>a</td> 
    <td>b</td> 
    <td>c</td></tr> 
</table> 
<table> 
    <tr><td>d</td> 
    <td>e</td> 
    <td>f</td></tr> 
</table> 
<table> 
<tr> <td>g</td> 
    <td>h</td> 
    <td>i</td></tr> 
</table> 

Js код

$(function(){ 
$('table tr td').each(function(i, e){ 
    //do something here 
    }) 
}) 
0

Попробуйте .find():

var td = $('table').find('td'); 
    td.each(function(k,v){ 
     alert(k+" - "+v); 
    }); 






    <table> 
     <tr> 
     <td></td> 
     <td></td> 
    </tr> 
    </table> 

    <table> 
     <tr> 
     <td></td> 
     <td></td> 
    </tr> 
    </table> 
Смежные вопросы