나는 테이블과 같이 있습니다루프를 사용하지 않고 HTML 테이블 열을 강조 표시하는 방법은 무엇입니까?
<table>
<thead>
<tr>
<th id="col-1"><input type="button" class="some" value="Company" /></th>
<th>name</th>
<th>Adress</th>
<th>Zip</th>
<th>Place</th>
<th>Country</th>
</tr>
</thead>
<tbody>
<tr class="even">
<td headers="col-1">Some ltd</td>
<td>some name</td>
<td>some street</td>
<td>some zip</td>
<td>some town</td>
<td>some country</td>
</tr>
<tr class="odd">
<td headers="col-1">Corp</td>
<td>some name</td>
<td>some street</td>
<td>some zip</td>
<td>some town</td>
<td>some country</td>
</tr>
</tbody>
</table>
홀수와 짝수 행은 다른 하이라이트 수업을 oddHigh및 evenHigh. 나는이 같은 열을 강조 할 열 헤더의 클릭에
:
$(".some").live("click", function() {
var val = $(this).closest("TH, th").attr('id'),
col = $("td[headers="+ val +"]"),
// set odd/even
i = col.closest("TR, tr").hasClass("odd") ? "oddHigh" : "evenHigh";
col.hasClass("colHigh") ? col.removeClass("colHigh "+i) : col.addClass("colHigh "+i);
});
이 oddHigh로 전체 열을 강조한다.
전체 선택을 반복하지 않고 가장 가까운 행의 클래스에 따라 강조 표시 할 수있는 방법이 있습니까? 또는 내가 colOdd tr.odd의 TD ... 및 colEven tr.even TD .. 및 2 별도의 문을 사용 -에 설정해야합니까?
나는 루프없이 빠져 나갈 수 없다고 생각하지만,'jquery.each' 메소드를 사용하여 코드를 단순화 할 수있다. –