자바스크립트 table 관련 질문드립니다.
Copy
<table border ="1">
<tbody>
<tr>
<td>사번</td>
<td>성명</td>
<td>직급</td>
<td>전화번호</td>
<td>주소</td>
</tr>
<tr>
<td>1</td>
<td>홍길동</td>
<td>대리</td>
<td>010-1234-5678</td>
<td>서울</td>
</tr>
<tr>
<td>2</td>
<td>고주몽</td>
<td>부장</td>
<td>010-3456-7890</td>
<td>경북</td>
</tr>
<tr>
<td>3</td>
<td>박혁거세</td>
<td>대리</td>
<td>010-5678-9012</td>
<td>전남</td>
</tr>
<tr>
<td>4</td>
<td>김알지</td>
<td>과장</td>
<td>010-6789-01234</td>
<td>충남</td>
</tr>
<tr>
<td>5</td>
<td>견훤</td>
<td>대리</td>
<td>010-7890-1234</td>
<td>경기</td>
</tr>
</tbody>
</table>
안녕하세요, 자바스크립트를 공부하고있는 초보자입니다.
공부중에 막힌 것이 생겨서 질문드립니다.
다음과 같은 테이블이 있을때 첫번째 tr은 제외하고
2번째 tr부터 직급이 대리가 아닌사람들의 tr을 삭제하고
대리인 사람들의 tr만 출력 하려면 어떻게 해야 하나요?ㅠㅠ
답변 2개
2021-12-20 (월) 21:08:46
테이블에 id 를 my 라 주고
<table id=my border ="1">
테이블 아래에 아래의 스크립트를 줍니다.
Copy
<script>
myTr = my.getElementsByTagName("tr");
for (myi = 0; myi < myTr.length; myi++) {
if (myTr[myi].innerHTML.indexOf("<td>대리</td>") > -1) myTr[myi].remove();
}
</script>
2021-12-20 (월) 18:08:54
<tr>
<td>사번</td>
<td>성명</td>
<td>직급</td>
<td>전화번호</td>
<td>주소</td>
</tr>
이 부분을 thead로 묶으세요.
table tbody의 loop 돌면서
$('table tbody tr').each( function(){
if($(this).children(':nth-child(3)').text()!='대리') $(this).remove();
})
답변을 작성하려면 로그인이 필요합니다.