바닐라 JS로 자바 스크립트로 생성 된 테이블에서 TD의 값을 얻는 방법이 있습니까?

알렉스 호킹

다음 코드가 있으며 자바 스크립트 배열을 사용하여 HTML 테이블을 생성합니다.

<HTML lang='en'>
    <head>
        <style>
            table {
                border-collapse: collapse;
            }
            table tr td {
                border: 1px solid #000;
                padding: 10px;
            }
            table tr td:hover {
                color: red;
            }        

        </style>

    </head>
    <body>

        <div id="container"></div>

        <script>
            window.addEventListener("load", function(){
                var data = ["doge", "cate", "birb", "doggo", "moon", "awkward", "coool", "epic"];
                var perrow = 3,
                    html = "<table><tr>";
                for (var i=0; i<data.length; i++) {
                    html += "<td class=\".cell\" >" + data[i] + "</td>";
                    var next = i+1;
                    if (next%perrow==0 && next!=data.length) {
                    html += "</tr><tr>";
                    }
                }
                html += "</tr></table>";

                document.getElementById("container").innerHTML = html;
            });
        </script>
    </body>
</HTML>

잘 작동합니다. 내가 원하는 것은 사용자가 테이블의 항목 위로 마우스를 가져 가서 테이블 항목의 값을 콘솔에 기록하도록하는 것입니다.

나는 해결책을 찾았고 어떤 종류의 작품 만 찾았습니다.

$(document).ready(function(){
    $('tr').mouseover(function(){
        var valueOfTd = $(this).find('td:first-child').text();
            console.log(valueOfTd);

        });
});

이 솔루션에는 두 가지 문제가 있습니다.

  1. 작동하지 않고 행의 맨 왼쪽에 셀 내용 만 출력되는 것 같습니다.
  2. 그것은 jQuery에 있으며, 전자 앱에 이것을 사용할 계획이므로 바닐라 JS의 솔루션을 찾을 수 있다면 대단히 감사하겠습니다.하지만 필요한 경우 jQuery를 사용할 수 있습니다.

따라서 기본적으로 사용자가 테이블의 항목 위로 마우스를 가져 가서 내용을 콘솔에 출력 할 수 있기를 바랍니다. 바닐라 JS에서 답변을 원합니다.

미리 감사드립니다 ... :)

마 맥돈

여기에 한 가지 접근 방식이 있습니다. 테이블을 생성 한 후이 코드를 실행합니다 (바로 뒤에 올 수 있음 document.getElementById("container").innerHTML = html;).

var rows = document.getElementsByTagName('tr');
Array.from(rows).forEach(function(tr) {
    tr.addEventListener('mouseover', function(event) {
        console.log(event.target.textContent);
    });
});

설명:

  • getElementsByTagName()<TR>문서에서의 컬렉션을 반환합니다 . (이를 document.querySelectorAll('tr')위해 jQuery와 유사한 CSS 선택기를 사용하여 요소를 찾을 수있는를 사용할 수도 있습니다 .)
  • Array.from이전 호출에서 반환 된 컬렉션을 일반 JS Array로 변환하여 호출 할 수 forEach있습니다.
  • 우리는 addEventListenera <TR>가 마우스 오버 될 때 발생하는 콜백 함수를 연결하는 데 사용 합니다 . 이것은 바닐라 JS 이벤트 바인딩 입니다.
  • event콜백 내부 매개 변수에는 mouseover 이벤트에 대한 정보가 포함됩니다.
  • 사용자 커서가 대상으로하는 즉각적인 요소는 event.target입니다. 이것은 <TD>사용자의 커서가 위에 있다는 것을 우리에게 제공합니다 . 이 부분은 약간 미묘하지만 기본적으로 리스너를 부모 요소 ( <TR>s)에 연결할 수 있으며 자식 요소 (the <TD>)를 마우스로 가져 가면 리스너가 호출됩니다 . 실제로 모든 셀에 개별적으로 리스너를 추가 할 필요는 없습니다. 작동 방식에 대한 전체 설명을 보려면 "이벤트 버블 링"을 검색하십시오.)
  • textContent의 속성은 <TD>셀 내부의 텍스트를 제공합니다. 이것은 DOM Node API 의 표준 속성입니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자바 스크립트에서 동적으로 생성 된 테이블의 첫 번째 td로 값 집합을 건너 뛰는 방법은 무엇입니까?

분류에서Dev

이 자바 스크립트에서 동적으로 생성 된 필드의 유효성을 검사하는 방법은 무엇입니까?

분류에서Dev

이 jQuery 줄을 바닐라 자바 스크립트로 작성하십시오.

분류에서Dev

자바 스크립트로 압축 된 json 파일을로드하는 방법이 있습니까?

분류에서Dev

자바 스크립트에서 동적으로 생성 된 HTML에 값을 추가하는 방법

분류에서Dev

숫자 행 (세로)이있는 테이블을 만들고 자바 스크립트를 사용하여 PDF를 생성하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트로 구성 요소의 translateX 값을 얻는 방법은 무엇입니까?

분류에서Dev

자바 스크립트로 테이블에있는 모든 td 요소의 배경색을 변경하는 방법

분류에서Dev

자바 스크립트를 사용하여 테이블 td에서 값을 얻는 방법

분류에서Dev

바닐라 자바 스크립트를 사용하여 인라인 SVG의 색상을 동적으로 변경하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트로 Django 생성 테이블 값 합계

분류에서Dev

자바 스크립트에서 toString (16)을 사용하여 두 문자로 작성된 바이트를 얻는 방법

분류에서Dev

자바 스크립트로 생성 된 HTML 테이블을 스크랩 할 때 이상한 문자

분류에서Dev

자바 스크립트의 다차원 테이블에서 값을 어떻게 얻습니까?

분류에서Dev

자바 스크립트에서 객체 속성을 얻는 다른 방법이 있습니까?

분류에서Dev

자바 스크립트에서 객체 속성을 얻는 다른 방법이 있습니까?

분류에서Dev

스크립트에 의해 생성 된 모든 자식 프로세스의 목록을 얻는 방법

분류에서Dev

자바 스크립트 선택기를 사용하여 테이블 td 내부의 입력 필드 값을 얻는 방법은 무엇입니까?

분류에서Dev

CSS 속성을 얻고 자바 스크립트로 HTML 요소의 높이를 변경하는 방법

분류에서Dev

자바 스크립트 의이 객체는 내가 생각하는 방식으로 새로 생성 된 객체를 참조합니까?

분류에서Dev

자바 스크립트로 동적으로 생성 된 버튼의 스타일을 지정하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 동적으로 생성 된 HTML 컨트롤을 비동기 적으로 업데이트하는 방법

분류에서Dev

PHP에서 생성 된 배열에서 자바 스크립트의 길이를 얻는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 ID로 체크 박스 값을 얻는 방법

분류에서Dev

자바 스크립트에서 ID로 체크 박스 값을 얻는 방법

분류에서Dev

자바 스크립트 계산으로 생성 된 데이터를 어떻게 가져올 수 있습니까?

분류에서Dev

내 자신의 방법으로 자바 스크립트를 압축하는 방법이 있습니까?

분류에서Dev

값이있는 자바 스크립트로 양식을 게시하는 방법

분류에서Dev

while 루프로 작성된 테이블에서 PHP의 테이블에서 하나의 값을 얻는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    자바 스크립트에서 동적으로 생성 된 테이블의 첫 번째 td로 값 집합을 건너 뛰는 방법은 무엇입니까?

  2. 2

    이 자바 스크립트에서 동적으로 생성 된 필드의 유효성을 검사하는 방법은 무엇입니까?

  3. 3

    이 jQuery 줄을 바닐라 자바 스크립트로 작성하십시오.

  4. 4

    자바 스크립트로 압축 된 json 파일을로드하는 방법이 있습니까?

  5. 5

    자바 스크립트에서 동적으로 생성 된 HTML에 값을 추가하는 방법

  6. 6

    숫자 행 (세로)이있는 테이블을 만들고 자바 스크립트를 사용하여 PDF를 생성하는 방법은 무엇입니까?

  7. 7

    자바 스크립트로 구성 요소의 translateX 값을 얻는 방법은 무엇입니까?

  8. 8

    자바 스크립트로 테이블에있는 모든 td 요소의 배경색을 변경하는 방법

  9. 9

    자바 스크립트를 사용하여 테이블 td에서 값을 얻는 방법

  10. 10

    바닐라 자바 스크립트를 사용하여 인라인 SVG의 색상을 동적으로 변경하는 방법은 무엇입니까?

  11. 11

    자바 스크립트로 Django 생성 테이블 값 합계

  12. 12

    자바 스크립트에서 toString (16)을 사용하여 두 문자로 작성된 바이트를 얻는 방법

  13. 13

    자바 스크립트로 생성 된 HTML 테이블을 스크랩 할 때 이상한 문자

  14. 14

    자바 스크립트의 다차원 테이블에서 값을 어떻게 얻습니까?

  15. 15

    자바 스크립트에서 객체 속성을 얻는 다른 방법이 있습니까?

  16. 16

    자바 스크립트에서 객체 속성을 얻는 다른 방법이 있습니까?

  17. 17

    스크립트에 의해 생성 된 모든 자식 프로세스의 목록을 얻는 방법

  18. 18

    자바 스크립트 선택기를 사용하여 테이블 td 내부의 입력 필드 값을 얻는 방법은 무엇입니까?

  19. 19

    CSS 속성을 얻고 자바 스크립트로 HTML 요소의 높이를 변경하는 방법

  20. 20

    자바 스크립트 의이 객체는 내가 생각하는 방식으로 새로 생성 된 객체를 참조합니까?

  21. 21

    자바 스크립트로 동적으로 생성 된 버튼의 스타일을 지정하는 방법은 무엇입니까?

  22. 22

    자바 스크립트에서 동적으로 생성 된 HTML 컨트롤을 비동기 적으로 업데이트하는 방법

  23. 23

    PHP에서 생성 된 배열에서 자바 스크립트의 길이를 얻는 방법은 무엇입니까?

  24. 24

    자바 스크립트에서 ID로 체크 박스 값을 얻는 방법

  25. 25

    자바 스크립트에서 ID로 체크 박스 값을 얻는 방법

  26. 26

    자바 스크립트 계산으로 생성 된 데이터를 어떻게 가져올 수 있습니까?

  27. 27

    내 자신의 방법으로 자바 스크립트를 압축하는 방법이 있습니까?

  28. 28

    값이있는 자바 스크립트로 양식을 게시하는 방법

  29. 29

    while 루프로 작성된 테이블에서 PHP의 테이블에서 하나의 값을 얻는 방법은 무엇입니까?

뜨겁다태그

보관