Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 HTML 테이블의 모든 요소에 IF 조건문 적용하는 방법

HTML 테이블 내의 모든 셀(td) 요소에 IF 조건문을 적용하려면 document.querySelectorAll()forEach() 메서드를 함께 사용하면 됩니다. querySelectorAll()은 지정한 선택자와 일치하는 모든 요소를 NodeList 형태로 반환하며, forEach()를 통해 각 요소를 순회하면서 원하는 조건 로직을 실행할 수 있습니다.

예제 코드

다음은 테이블의 각 셀을 순회하면서 IF 조건문으로 텍스트를 변경하는 전체 코드입니다.

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Document</title>
</head>
<link rel="stylesheet"
href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<body>
   <table>
      <tr>
         <td class="demo"> Java </td>
      </tr>
      <tr>
         <td class="demo"> MySQL </td>
      </tr>
      <tr>
      </tr>
   </table>
</body>
<script>
   document.querySelectorAll(".demo").forEach(function (obj) {
      if (obj.innerText.trim() === "MySQL") {
         obj.innerText = "Javascript";
      }
      if (obj.innerText.trim() === "MongoDB") {
         obj.innerText = "Python";
      }
   });
</script>
</html>

코드 설명

위 코드의 핵심 동작 방식은 다음과 같습니다.

1. 요소 선택: document.querySelectorAll(".demo")는 class가 "demo"인 모든 td 요소를 선택합니다.
2. 순회 처리: forEach() 함수가 선택된 각 요소를 하나씩 순회합니다.
3. 조건 판별: obj.innerText.trim()으로 공백을 제거한 텍스트 값과 특정 문자열(예: "MySQL", "MongoDB")을 비교합니다.
4. 값 변경: 조건이 일치하면 obj.innerText에 새로운 값을 할당하여 화면의 텍스트를 즉시 변경합니다.

실행 방법

위 프로그램을 실행하려면 코드를 anyName.html 또는 index.html로 저장합니다. 이후 VS Code 편집기에서 해당 파일을 마우스 오른쪽 버튼으로 클릭하고 'Open with Live Server' 옵션을 선택하면 브라우저에서 바로 확인할 수 있습니다.

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

JavaScript로 HTML 테이블의 모든 요소에 IF 조건문 적용하는 방법

테이블에서 "MySQL"이라는 텍스트를 가진 셀이 "Javascript"로 자동 변경된 것을 확인할 수 있습니다. 이처럼 querySelectorAll()과 forEach()를 조합하면 별도의 반복문 없이도 테이블의 여러 요소에 조건부 로직을 간결하게 적용할 수 있습니다.