>웹 프론트엔드 >JS 튜토리얼 >요소를 가져오는 자바스크립트 메소드

요소를 가져오는 자바스크립트 메소드

藏色散人
藏色散人원래의
2021-05-10 14:55:315791검색

JavaScript에서 요소를 가져오는 방법: 1. getElementById를 통해 id 속성이 있는 노드 객체를 가져옵니다. 2. getElementsByTagName을 통해 객체 배열을 가져옵니다. 3. getElementsByClassName을 통해 지정된 클래스 이름을 가진 요소를 가져옵니다.

요소를 가져오는 자바스크립트 메소드

이 문서의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

요소를 얻는 일반적인 방법에는 요소 ID, 태그 이름, 클래스 이름 등 세 가지가 있습니다.

getElementById

DOM은 id 속성에 해당하는 노드 개체를 반환하는 getElementById라는 메서드를 제공합니다. 사용시 대소문자 구분에 주의하시기 바랍니다.

문서 객체 고유의 함수로, 이 메소드는 이를 통해서만 호출할 수 있습니다. 사용 방법은 다음과 같습니다.

코드는 다음과 같습니다.

document.getElementById('demo') //demo是元素对应的ID

이 방법은 IE6+를 포함한 주류 ​​브라우저와 호환되며 과감하게 사용할 수 있습니다.

getElementsByTagName

이 메소드는 객체 배열을 반환합니다(정확히 말하면 HTMLCollection은 진정한 의미의 배열이 아닙니다). 각 객체는 문서에서 지정된 태그가 있는 요소에 해당합니다. getElementById와 유사하게 이 메소드는 하나의 매개변수만 제공하며 해당 매개변수는 지정된 태그의 이름입니다. 샘플 코드는 다음과 같습니다.

코드는 다음과 같습니다.

document.getElementsByTagname('li')  //li是标签的名字

호출된다는 점에 유의해야 합니다. 문서 객체에 의해 이 메소드는 문서 객체에 의해 호출될 수도 있습니다. 일반 요소에 의해서도 호출될 수 있습니다. 예시는 다음과 같습니다.

코드는 다음과 같습니다.

var demo = document.getElementById('demo');
var lis = demo.getElementsByTagname('li');

마찬가지로 이 방법은 주류 브라우저, 심지어 IE6+에서도 호환되며 과감하게 사용할 수 있습니다.

getElementsByClassName

태그를 지정하여 요소를 얻는 것 외에도 DOM은 지정된 클래스 이름을 가진 요소를 가져오는 getElementsByClassName 메서드도 제공합니다. 그러나 이 방법은 비교적 새로운 방법이기 때문에 IE6과 같은 이전 브라우저에서는 아직 지원하지 않습니다. 그러나 해킹을 사용하여 기존 브라우저의 단점을 보완할 수 있습니다. 이 메소드를 호출하는 방법은 다음과 같습니다.

코드는 다음과 같습니다.

document.getElementsByClassName('demo')    //demo为元素指定的class名

getElementsByTagname과 동일하며 문서 객체에 의해 호출되는 것 외에 일반 요소에서도 이 메소드를 호출할 수 있습니다.

IE6 및 7과 같은 이전 브라우저의 경우 다음 해킹 방법을 사용할 수 있습니다.

코드는 다음과 같습니다.

function getElementsByClassName(node,classname){
        if(node.getElementsByClassName) {
            return node.getElementsByClassName(classname);
        }else {
            var results = [];
            var elems = node.getElementsByTagName("*");
            for(var i = 0; i < elems.length; i++){
                if(elems[i].className.indexOf(classname) != -1){
                    results[results.length] = elems[i];
                }
            }
            return results;
        }
    }

Extension

위의 요소 선택 방법에 만족할 뿐만 아니라 다음을 수행하고 싶습니다. JQuery와 동일한 작업을 수행하면 선택기를 통해 요소를 얻을 수 있습니다. 구현 방법은 위의 getElementsByClassName과 유사합니다. 관심이 있는 경우 선택기 세트를 직접 구현할 수 있습니다. 하지만 결국 이 세 가지 방법은 이벤트 버블링과 결합하면 충분하다고 생각합니다.

추천 학습: "javascript 고급 튜토리얼"

위 내용은 요소를 가져오는 자바스크립트 메소드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.