> 웹 프론트엔드 > JS 튜토리얼 > JavaScript를 사용하여 Alter Table Row 배경색

JavaScript를 사용하여 Alter Table Row 배경색

Jennifer Aniston
풀어 주다: 2025-03-09 00:37:10
원래의
200명이 탐색했습니다.

JavaScript를 사용하여 Alter Table Row 배경색 키 테이크 아웃

> javaScript는 테이블 행 배경 색상을 동적으로 변경하는 데 사용될 수 있으며, 두 번째 행마다 하드 코딩하거나 서버 애플리케이션에서 HTML 페이지를 재생하지 않고도 가독성을 향상시킬 수 있습니다. 하나의 방법은 스타일 요소에서 배경색에 대한 두 가지 클래스를 정의 한 다음 JavaScript를 사용하여 이러한 클래스를 각각 홀수 및 짝수 행에 할당합니다. 보다 복잡한 방법은 이러한 모든 색상을 보유하고 인덱스를 기반으로 행에 할당하는 배열을 사용하여 여러 번 교류 색상을 허용합니다. 최종 방법은 테이블의 행 수, 시작 색상 및 주어진 요소에 따라 색상을 계산하여 구배 효과를 만듭니다. 이 방법은 가독성을 유지하기 위해 색상 조합을 신중하게 고려해야합니다.

테이블 데이터를 제시하는 많은 사이트는 교대 배경 색상을 사용하여 해당 데이터의 가독성을 높입니다. 그리고 사이트를 개발하면서도 그렇게하고 싶다는 것을 깨달았습니다. 문제? 제 경우에는 서버 측 응용 프로그램이나 스크립트에 의해 테이블이 생성되지 않았으며, 이는 웹에서 수많은 예를 찾을 수 있습니다.
    명백한 솔루션은 두 번째 줄마다 하드 코드가 다른 배경색을 갖도록하는 것이 었습니다. 그러나 나는 테이블이 동적이되기를 원했기 때문에 뒤 따르는 행의 배경색 속성을 변경하지 않고 테이블 중간에 새 행을 추가 할 수있었습니다.
  • . CSS3은 아직 실질적인 옵션이 아니기 때문에 내 솔루션은 JavaScript를 사용합니다. 오늘날 브라우저는 여전히 CSS1 및 CSS2를 지원하기 위해 노력하고 있습니다. 웹 페이지 레이아웃에는 HTML 테이블이 권장되지 않더라도 테이블 데이터의 표현에 여전히 완벽하게 적합합니다. 이 튜토리얼에서는 같은 아이디어를 바탕으로 세 가지 예를 제시합니다. Windows 플랫폼에서만 IE6, Firefox 1.0, Mozilla 1.7.3 및 Opera 7.54에서 솔루션을 테스트했습니다.
  • 시작하기
  • 일반적인 HTML 테이블로 시작하겠습니다. 이 경우 테이블에 헤드/풋 요소가 포함되어 있는지 여부는 중요하지 않습니다.
  • 이제 브라우저가 상당히 새롭고 필요한 JavaScript 기능 (예 : W3C DOM 지원)이 있는지 확인해야합니다. 다음 줄은이 점검을 수행하여 Netscape 4와 그 세대의 다른 사람들을 실격시킵니다. 이러한 브라우저는 테이블을 채색하려고 시도하지 않습니다.
  • 또한이 모든 예제에 공통적 인이 코드는 다음과 같습니다.
  • 예 1
  • 이 첫 번째 예제는 우리가 배경색에 대해 두 가지 클래스를 정의한 스타일 요소를 사용합니다.
스타일은 융통성이 있습니다. 두 번째 행이 이탤릭체로 표시되어야하는 것과 같이 다른 것을 정의 할 수 있습니다. 완전한 기능은 다음과 같습니다.

여기, 모듈로 연산자 인 %는 나머지 부서를 제공합니다.

위의 기능은 본체 태그의 온부하 이벤트에서 호출되어야합니다.

<table > <br>
<tr><td>0 - some txt</td></tr> <br>
<tr><td>1 - some txt</td></tr> <br>
  <tr><td>2 - some txt</td></tr> <br>
  <tr><td>3 - some txt</td></tr> <br>
  <tr><td>4 - some txt</td></tr>       <br>
</table>
로그인 후 복사
로그인 후 복사
결과는 다음과 같이 보일 수 있습니다



JavaScript를 사용하여 Alter Table Row 배경색 예제 2 다음 예로 넘어 가자 - 조금 더 모험적인 것. 두 개의 교대 색상을 사용하는 대신 몇 가지를 사용하고 싶습니다. 이 모든 색상을 보유하는 배열을 추가해 봅시다.

제한된 수의 색상이 HTML에서 정의 된 이름을 가지므로 16 진수 값으로 전환합니다. 결과 색상은 빨간색, 녹색 및 파란색의 세 가지 값으로 구성됩니다. Max : #ffffff에서 세 가지 색상이 모두 켜질 때 흰색이 달성됩니다. 반대의 검은 색은 #000000입니다.

행 관리 코드는 한 줄만 포함되지만 동일한 코드를 복사하고 붙여 넣는 대신 별도의 기능을 호출합니다.

여기에도 Doalternate라는 함수도 추가했습니다. 이를 통해 테이블의 행 색상을 번갈아 가며 다른 방법을 쉽게 전환 할 수 있습니다. 위의 조각에서 볼 수 있듯이 CSS 클래스 이름 또는 html 태그의 특정 속성을 행으로 설정할 수 있습니다.

예제 2의 결과는 다음과 같이 나타날 수 있습니다.

예제 3

마지막 예제는 테이블의 행 수, 시작 색상 및 주어진 요소에 따라 색상이 계산되는 정말 화려한 변형을 보여줍니다. 먼저, 몇 가지 변수를 설정해야합니다

이제 우리는 이제 새로운 함수 인 dogradient를 추가합니다.

if(document.getElementById)
로그인 후 복사
색상이 계산되기 때문에 범위를 벗어나지 않도록해야합니다. 유효한 값은 0에서 255 사이입니다. 색상 인수는 RGB 값으로 분리되지 않으므로 16 이하로 이동하면 패드를해야합니다. 그렇지 않으면 값이 불법입니다. 우리가 정말 긴 테이블이나 큰 단계 값을 가지고 있다면, 그라디언트는 다른 방향으로 회전합니다. 이 함수에서 파란색 부분은 고정되고 다른 두 개는 수정됩니다.

Tostring 방법은 숫자를 변환해야 할 때 매우 편리합니다. 토스트 링의 논쟁은 radix, 즉. 이진의 경우 2, 10 진수의 경우 10, 16 진 16. 아래 이미지는 테이블이 Firefox 1.0, IE6, Mozilla 1.7 및 Opera 7.5의 결과에 어떻게 나타나는지를 보여줍니다.
var table = document.getElementById(id);   <br>
var rows = table.getElementsByTagName("tr");   <br>
for(i = 0; i < rows.length; i++){           <br>
    //manipulate rows <br>
      ...
로그인 후 복사
디스플레이를 너무 화려하게 만들지 않도록주의하십시오. 우리는 여전히 테이블 데이터의 가독성을 보장하고 싶습니다. 일부 색상 조합을 사용하면 다음과 같은 것을 사용하여 테이블 텍스트의 색상을 변경해야 할 수도 있습니다.
<table > <br>
<tr><td>0 - some txt</td></tr> <br>
<tr><td>1 - some txt</td></tr> <br>
  <tr><td>2 - some txt</td></tr> <br>
  <tr><td>3 - some txt</td></tr> <br>
  <tr><td>4 - some txt</td></tr>       <br>
</table>
로그인 후 복사
로그인 후 복사
결론 CSS 및 JavaScript를 사용하면 서버 애플리케이션에서 HTML 페이지를 재생하지 않고도 코드의 가독성을 추가하거나 늘리기가 상당히 쉽습니다. 여기에서 보았 듯이 정적 HTML 페이지에도 추가 할 수도 있습니다. 이 예제를 실제로 보려면 코드가 포함 된 HTML 파일을 다운로드하십시오. JavaScript의 배경 색상 변경에 대한 자주 묻는 질문 (FAQ) JavaScript를 사용하여 테이블에서 특정 행의 배경색을 변경하려면 어떻게해야합니까?
테이블에서 특정 행의 배경색을 변경하려면 JavaScript 메소드 GetElementById 또는 QuerySelector를 사용하여 행을 선택한 다음 스타일 속성을 변경할 수 있습니다. 예는 다음과 같습니다.

document.getElementById ( "myrow"). Style.backgroundColor = "red";

// 또는

// hocument.querySelector ( "#myrow"). Style.BackgroundColor = "red"; "MyRow"는 당신이 변경하려는 행의 ID입니다. "빨간색"을 유효한 색상 이름 또는 색상 코드로 바꿀 수 있습니다.

한 번에 여러 행의 배경색을 변경할 수 있습니까?

예, JavaScript를 사용하여 여러 행의 배경색을 한 번에 변경할 수 있습니다. QuerySelectorall 메소드를 사용하여 변경하려는 모든 행을 선택한 다음 루프를 사용하여 각 행의 배경색을 변경할 수 있습니다. 예는 다음과 같습니다.

var rows = docum "파란색"을 유효한 색상 이름 또는 색상 코드로 바꿀 수 있습니다.

클릭을 클릭 할 때 행의 배경색을 변경하려면 어떻게해야합니까?
클릭을 클릭 할 때 행의 배경색을 변경하려면 JavaScript에서 OnClick 이벤트를 사용할 수 있습니다. 예는 다음과 같습니다.
document.getElementById ( "myrow"). onclick = function () {}
이 예에서“Myrow”는 변경하려는 행의 ID입니다. "녹색"을 유효한 색상 이름 또는 색상 코드로 바꿀 수 있습니다.
콘텐츠에 따라 행의 배경색을 변경할 수 있습니까?
예, JavaScript를 사용하여 콘텐츠를 기반으로 행의 배경색을 변경할 수 있습니다. InnerHTML 속성을 사용하여 행의 내용을 얻은 다음 IF 문을 사용하여 컨텐츠에 따라 배경색을 변경할 수 있습니다. 예는 다음과 같습니다.

var row = docum "노란색"을 유효한 색상 이름 또는 색상 코드로 바꿀 수 있습니다.

행의 배경색을 어떻게 변경할 수 있습니까?

행의 배경색을 변경하려면 다음을 사용할 수 있습니다. CSS의 호버 의사 클래스를 사용할 수 있습니다. 예는 다음과 같습니다. #myrow : hover {

배경색 : 핑크; 이 예에서“Myrow”는 변경하려는 행의 ID입니다. "핑크"를 유효한 색상 이름 또는 색상 코드로 바꿀 수 있습니다.
행의 배경색을 원래 색상으로 되돌릴 수 있습니까?
예, JavaScript를 사용하여 행의 배경색을 원래 색상으로 변경할 수 있습니다. 원래 색상을 변경하기 전에 원래 색상을 변수에 저장 한 다음이 변수를 사용하여 색상을 다시 변경할 수 있습니다. 예는 다음과 같습니다.
var row = docum 변경하려는 행의. "보라색"을 유효한 색상 이름 또는 색상 코드로 바꿀 수 있습니다.
몇 초마다 행의 배경색을 변경하려면 몇 초마다 행의 배경색을 변경하려면 JavaScript에서 SetInterval 함수를 사용할 수 있습니다. 예는 다음과 같습니다. setInterval (function () {

조건에 따라 행의 배경색을 변경할 수 있습니까?

예, Javascript를 사용한 조건에 따라 행의 배경색을 변경할 수 있습니다. if 문을 사용하여 조건을 확인한 다음 조건이 참이면 배경색을 변경할 수 있습니다. 예는 다음과 같습니다.

var row = docum "Orange"를 유효한 색상 이름 또는 색상 코드로 교체 할 수 있습니다.

선택을 선택할 때 행의 배경색을 변경하려면 어떻게해야합니까?
선택을 선택할 때 행의 배경색을 변경하려면 JavaScript에서 OnSelect 이벤트를 사용할 수 있습니다. 그러나이 이벤트는 일반적으로 텍스트 입력 필드에 사용되므로 테이블 행에 일반적으로 사용되지 않습니다. 보다 일반적인 접근 방식은 질문 3에서 설명한대로 행을 클릭 할 때 배경색을 변경하는 것입니다. 특정 열에서 행의 배경색을 변경할 수 있습니까? 예, JavaScript를 사용하여 특정 열에서 행의 배경색을 변경할 수 있습니다. CellIndex 속성을 사용하여 열의 인덱스를 얻은 다음 인덱스가 특정 열과 일치하는 경우 행의 배경색을 변경할 수 있습니다. 예는 다음과 같습니다.

var row = document.getElementById ( "myrow");

if (row.cells [0] .CellIndex == 특정 column) {

위 내용은 JavaScript를 사용하여 Alter Table Row 배경색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿