2010-10-13 31 views
6

Tôi có một bảng Tôi đang làm việc với điều đó cũng giống như ví dụ:Sử dụng jQuery để thêm lớp để TD đầu tiên trên mỗi dòng của bảng

<table width="100%" border="0" cellspacing="0" cellpadding="0" id="tablecontent"> 
    <tr class="tablerow"> 
    <td>This is the td I want to add a class to.</td> 
    <td class="cell2">Stuff</td> 
    <td class="cell3">Stuff</td> 
    </tr> 
    <tr class="tablerow"> 
    <td>This is the td I want to add a class to.</td> 
    <td class="cell2">Stuff</td> 
    <td class="cell3">Stuff</td> 
    </tr> 
</table> 

Thẻ TD đầu tiên trong mỗi hàng không có một lớp hoặc ID để làm việc với. Tôi không có quyền truy cập để thay đổi đầu ra HTML vì vậy tôi đã tìm thêm một chút jQuery để nhắm mục tiêu thẻ TD đầu tiên của mỗi tablerow. Làm thế nào tôi sẽ làm điều này?

Trả lời

11
$('#tablecontent td:first-child').addClass('someClass'); 

này sử dụng the first-child selector để chọn tất cả <td> nguyên tố trong bảng #tablecontent đó là một first-child của cha mẹ .

Ví dụ:http://jsfiddle.net/duKKC/

+0

ảnh vui nhộn. Điều này làm việc hoàn hảo. Cảm ơn! –

+0

@Robert - Bạn được chào đón. : o) – user113716

1

Bạn có thể thử dưới đây jQuery

$('.tablerow').each(function(index) { 
    $(this).children('td').first().addClass('class'); 
}); 

này sẽ giải quyết vấn đề của bạn :)

0
$(".tablerow").find("td:first-child").addClass('class'); 
0

Tôi tin rằng đây sẽ làm việc:

$('.tablerow td:first-child').addClass('class'); 
0
$('#tablecontent td:first-child').addClass("first-row"); 
Các vấn đề liên quan