2015-02-03 3 views
1

첫 번째 열을 제외한 테이블의 모든 셀에 대해 함수를 호출하고 싶습니다. 지금까지 다음 코드가 있습니다.첫 번째 열을 제외한 테이블에 JQuery를 반복하십시오.

<script type="text/javascript"> 

    $("#resultstable tr").each(function() { 

    $('td', this).each(function() { 
     ....do my staff... 
    }) 

}) 
</script> 

이 코드는 테이블의 모든 셀에 적용됩니다. 이 코드를 변경하면 작동 할 것이라고 생각했지만 그렇지 않습니다.

<script type="text/javascript"> 

    $("#resultstable tr").each(function() { 

    $('td :not(:first-child)', this).each(function() { 
     ....do my staff... 
    }) 

}) 
</script> 
+3

@SterlingArcher 무엇 그는이 질문이 오프 토픽이라는 것을 의미하지는 않는다. –

+0

첫 번째 열 헤더 또는 ''이 아닌 다른 요소로 표시 될 수있는 (아마도 있어야 할) 것이 있습니까? – ssube

+0

@SterlingArcher 코드 없이도 질문을하면 닫힙니다. 내가 그것을 작동하게 만들려고 노력했다면, 그것은 여전히 ​​주제 밖입니까? 나는 그렇게 생각하지 않는다. :) – Tasos

답변

4

다만 slice 요소 :

$("<selector>").slice(1).each(function() {...}); 

.slice(start [, end ])

설명 : 인덱스의 범위에 의해 특정 서브 세트에 매칭 소자들의 세트를 감소시킨다.

또 다른 솔루션을 작업하는 :not:first 사용하여 스파게티 선택을 구축하는 것입니다 : 그는 표시된 경우

$("tr").each(function() { 
    $("td:not(:first)", this).each(function() { 
     // do something 
    }); 
}); 

을 예

var colors = ["#f1c40f", "#2ecc71"]; 
 
$("table tr").each(function() { 
 
    $("td", this).slice(1).each(function(i) { 
 
    $(this).css("background", colors[i]) 
 
    }); 
 
}); 
 

 
setTimeout(function() { 
 
    $("table tr").each(function() { 
 
    $("td:not(:first)", this).each(function(i) { 
 
     $(this).css("background", colors[colors.length - i - 1]) 
 
    }); 
 
    }); 
 
}, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table border="1"> 
 
    <thead> 
 
    <tr> 
 
     <td>Name</td> 
 
     <td>Age</td> 
 
     <td>Location</td> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <tr> 
 
     <td>Alice</td> 
 
     <td>19</td> 
 
     <td>Europe</td> 
 
    </tr> 
 
    <tr> 
 
     <td>Bob</td> 
 
     <td>20</td> 
 
     <td>Europe</td> 
 
    </tr> 
 
    <tr> 
 
     <td>Carol</td> 
 
     <td>15</td> 
 
     <td>Australia</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

+0

너무 열에 대한이 작동합니까? 왜냐하면 첫 번째 열에 함수를 적용하려고하기 때문입니다. 첫 번째 행이 아닙니다. – Tasos

+0

@AnastasiosVentouris 아, 네가 행에 대해 알고 있다고 생각했다. 편집 중 ...! –

+0

@AnastasiosVentouris 편집을 참조하십시오. td 요소를'슬라이스 '합니다. –

관련 문제