찾다
웹 프론트엔드HTML 튜토리얼완전한 HTML 객체는 어떤 모습이며 어떻게 생성하나요?

html 객체의 경우 먼저 Node 노드를 언급해야 합니다. Node는 인터페이스입니다. 많은 DOM 유형이 이 인터페이스에서 상속되며 이러한 다양한 유형이 유사하게 처리(또는 테스트)될 수 있습니다. Node가 메서드와 속성에서 상속하는 인터페이스가 있나요? 먼저 이 글을 읽어보자. apache php mysql

이 기사를 쓰는 이유는 무엇입니까?

당신은 한동안 웹 개발을 해왔을 것입니다. 다음과 같은 질문에 대해 생각해 본 적이 있나요?
p 요소 또는 모든 html 요소가 addEventListener를 사용하여 이벤트를 추가할 수 있는 이유는 무엇인가요?
각 DOM 노드에 parentNode, firstChild, nodeType 등과 같은 속성이 있는 이유는 무엇인가요?
모든 DOM 요소에 className, classList, innerHTML 등과 같은 속성이 있는 이유는 무엇인가요?
일부 DOM 요소에 accessKey, contentEditable, isContentEditable 등과 같은 속성이 있는 이유는 무엇인가요?
왜 모든 DOM 요소에는 onclick, ondblclick, ondrag 및 기타 속성이 있나요?
이 글은 간단하지만 '단순'하지 않은 질문에 답하기 위한 것입니다.

EventTarget

Definition

EventTarget은 이벤트를 받을 수 있는 객체로 구현된 인터페이스이며, 이에 대한 리스너를 생성할 수 있습니다.

Role

Element, document 및 window가 가장 일반적인 이벤트 대상이지만 XMLHttpRequest, AudioNode, AudioContext 등과 같은 다른 객체도 이벤트 대상이 될 수 있습니다.
많은 이벤트 대상(요소, 문서 및 창 포함)도 onXXX(예: onclick) 속성 및 속성을 통해 이벤트 핸들러 설정을 지원합니다.

이 인터페이스의 메서드

EventTarget.addEventListener()

EventTarget에 특정 이벤트 유형에 대한 이벤트 핸들러를 등록합니다.

EventTarget.removeEventListener()

EventTarget에서 이벤트 리스너를 제거합니다.

EventTarget.dispatchEvent()

이 EventTarget에 이벤트를 전달합니다.

EventTarget을 직접 구현합니다

var EventTarget = function() {
  this.listeners = {};
};

EventTarget.prototype.listeners = null;
EventTarget.prototype.addEventListener = function(type, callback) {
  if (!(type in this.listeners)) {
    this.listeners[type] = [];
  }
  this.listeners[type].push(callback);
};

EventTarget.prototype.removeEventListener = function(type, callback) {
  if (!(type in this.listeners)) {
    return;
  }
  var stack = this.listeners[type];
  for (var i = 0, l = stack.length; i < l; i++) {
    if (stack[i] === callback){
      stack.splice(i, 1);
      return;
    }
  }
};

EventTarget.prototype.dispatchEvent = function(event) {
  if (!(event.type in this.listeners)) {
    return true;
  }
  var stack = this.listeners[event.type].slice();

  for (var i = 0, l = stack.length; i < l; i++) {
    stack[i].call(this, event);
  }
  return !event.defaultPrevented;
};

Node

Definition

Node는 인터페이스이며 많은 DOM 유형이 다음에서 유래합니다. 이 인터페이스는 이러한 다양한 유형을 유사하게 처리(또는 테스트)할 수 있도록 상속하고 허용합니다. Node는 많은 DOM 유형을 상속하고 이러한 다양한 유형을 유사하게 처리(또는 테스트)할 수 있는 인터페이스입니다.

Node가 메서드와 속성에서 상속하는 인터페이스가 있나요?

Document, Element, CharacterData(Text, Comment 및 CDATASection이 상속함), ProcessInstruction, DocumentFragment, DocumentType, Notation, Entity, EntityReference
PS: 메서드와 속성이 상속되지 않는 특정 경우 관련 상황에 따라 이러한 인터페이스는 null을 반환할 수 있습니다. 예를 들어 하위 노드의 존재를 허용하지 않는 노드에 하위 노드를 추가하는 경우 예외가 발생할 수 있습니다.

인터페이스 관련 속성 및 메서드

Properties

Node.baseURI

기본 URL을 나타내는 DOMString을 반환합니다. 언어별로 기본 URL의 개념이 다릅니다. HTML에서 기본 URL은 프로토콜과 도메인 이름은 물론 마지막 '/'까지의 파일 디렉터리를 나타냅니다.

Node.childNodes

노드의 모든 하위 노드를 포함하는 실시간 NodeList를 반환합니다. NodeList는 "실시간"입니다. 즉, 노드의 하위 노드가 변경되면 NodeList 객체가 자동으로 업데이트됩니다.

Node.firstChild

노드의 첫 번째 하위 노드를 반환하거나, 노드에 하위 노드가 없는 경우 null을 반환합니다.

Node.lastChild

노드의 마지막 하위 노드를 반환하거나, 노드에 하위 노드가 없는 경우 null을 반환합니다.
여기에서는 일부 Node 인터페이스 속성이 생략되었으며, 더 많은 속성을 여기에서 찾을 수 있습니다.

method

그럼 여기서 핵심이 나옵니다!
핵심 사항: 부모 클래스 EventTarget에서 addEventListener, RemoveEventListener, dispatchEvent 및 기타 메서드를 상속합니다.

Node.appendChild()

지정된 상위 노드의 하위 노드 목록 끝에 노드를 추가합니다.

Node.contains()

들어오는 노드가 노드의 하위 노드인지 여부를 나타내는 부울 값을 반환합니다.

Node.cloneNode()

이 메서드가 호출된 노드의 복사본을 반환합니다.
여기에서는 일부 Node 인터페이스 메서드가 생략되었으며, 더 많은 메서드를 여기에서 찾을 수 있습니다.

Element

Description

Element는 매우 일반적인 기본 클래스이며 Document 객체 아래의 모든 객체는 이를 상속합니다. 이 인터페이스는 동일한 종류의 모든 요소에 공통적인 메서드와 속성을 설명합니다. 이러한 인터페이스는 Element에서 상속되며 특정 동작을 설명하는 몇 가지 추가 기능을 추가합니다.
PS: HTMLElement 인터페이스는 모든 HTML 요소에 대한 기본 인터페이스이고, SVGElement 인터페이스는 모든 SVG 요소에 대한 기본 인터페이스입니다.
XUL과 같이 웹 이외의 언어에서는 XULElement의 API를 통해서도 구현할 수 있습니다.

Attributes

모든 속성은 상위 인터페이스 Node와 EventTarget을 확장하는 인터페이스에서 상속되며 다음 부분에서 ParentNode, ChildNode, NonDocumentTypeChildNode 및 Animatable 속성을 상속합니다.

Element.assetedSlot

요소에 해당하는 HTMLSlotElement 인터페이스를 반환합니다.

Element.attributes

해당 요소를 반환합니다. 모든 관련 속성의 컬렉션 NamedNodeMap

Element.classList

요소에서 반환된 클래스 속성은 DOMTokenList입니다.

Element .className#🎜🎜 #

이 요소의 클래스를 나타내는 DOMString입니다.

여기에서는 여러 요소 인터페이스 속성이 생략되었으며, 더 많은 메서드를 여기에서 찾을 수 있습니다.

method

그럼 여기서 핵심!
부모 클래스(Node)와 부모 클래스의 부모 클래스(EventTarget)에서 메서드를 상속하고 parentNode, ChildNode, NonDocumentTypeChildNode 및 Animatable을 구현합니다.
여기에서는 일부 요소 인터페이스 메서드가 생략되었으며, 더 많은 메서드를 여기에서 찾을 수 있습니다.

Element.closest()

이 메서드는 특정 선택기와 일치하고 현재 요소에 가장 가까운 상위 요소를 가져오는 데 사용됩니다(현재 요소일 수도 있음). 그 자체). 일치하는 항목이 없으면 null이 반환됩니다.

Element.getAttribute()

요소에 마지막으로 지정된 속성 값을 반환합니다. 지정된 속성이 없으면 null 또는 ""(빈 문자열)을 반환합니다.

Element.getElementsByClassName()

클래스 목록이 매개변수에 제공되고 이러한 클래스를 보유하는 모든 하위 요소가 포함된 동적 HTMLCollection이 반환됩니다.
여기에서는 일부 요소 인터페이스 메서드가 생략되었으며, 더 많은 메서드를 여기에서 찾을 수 있습니다.

HTMLElement

Function

HTMLElement 인터페이스는 모든 HTML 요소를 나타냅니다. 일부 HTML 요소는 HTMLElement 인터페이스를 직접 구현하고 다른 요소는 HTMLElement 인터페이스를 간접적으로 구현합니다.

Attribute

그럼 여기서 핵심이 나옵니다!
상위 인터페이스 Element 및 GlobalEventHandler에서 상속된 속성입니다.
HTMLElement.accessKey DOMString 요소 액세스를 위한 단축키 가져오기/설정
HTMLElement.accessKeyLabel DOMString 요소 액세스를 위한 단축키가 포함된 문자열 반환(읽기 전용)
HTMLElement.contentEditable DOMString Get/ set 요소의 편집 가능 상태
HTMLElement.isContentEditable Boolean 요소의 내용이 편집 가능한지(읽기 전용) 여부를 나타냅니다.
여기에서는 여러 HTMLElement 인터페이스 속성이 생략되었으며, 더 많은 메소드를 여기에서 찾을 수 있습니다.

이벤트 핸들러

HTMLElement.onTouchStart
HTMLElement.onTouchEnd
HTMLElement.onTouchMove
HTMLElement.onTouchEnter
HTMLElement.onTo 윽 # 떠나 🎜🎜#HTMLElement.onTouchCancel

Method

HTMLElement.blur() void 요소가 포커스를 잃습니다.

HTMLElement.click() void 요소의 클릭 이벤트를 트리거합니다. #🎜 🎜 #HTMLElement.focus() void 요소가 포커스를 얻음
HTMLElement.forceSpellCheck() void

GlobalEventHandlers

Definition

GlobalEventHandler s 인터페이스에서는 이벤트 핸들러가 HTMLElement, File, Window 또는 WorkerGlobalScope 웹 작업자와 같은 여러 인터페이스에 공통적으로 설명되어 있습니다. 이러한 인터페이스는 더 많은 이벤트 핸들러를 구현할 수 있습니다.

Attributes

GlobalEventHandlers.onabort

인터럽트 이벤트.

GlobalEventHandlers.onblur

포커스 이벤트.

GlobalEventHandlers.onfocus

포커스 이벤트를 가져옵니다.

여기에서는 일부 GlobalEventHandlers 인터페이스 속성이 생략되었으며, 더 많은 메서드를 여기에서 찾을 수 있습니다.


Element 인터페이스

이 인터페이스는 해당 요소를 만드는 데 사용됩니다.

예:

HTMLpElement 인터페이스는 p 요소에 작동하는 몇 가지 특별한 속성(일반적인 HTMLElement 인터페이스도 상속함)을 제공합니다.
HTMLFormElement 인터페이스는 HTMLElement 인터페이스의 메서드와 속성을 상속하는

객체를 생성하거나 수정할 수 있습니다.
HTMLAnchorElement 인터페이스는 하이퍼링크 요소를 나타내며 이러한 요소의 레이아웃 및 표시를 조작하기 위한 몇 가지 특수 속성 및 메서드(일반 HTMLElement 개체 인터페이스에서 상속된 속성 및 메서드)를 제공합니다.
......

이전 질문에 답하기

위의 지식을 통해 다음을 이해합니다.

HTMLpElement(기타 요소 인터페이스)는 HTMLElement를 상속합니다. 및 GlobalEventHandlers 인터페이스.

HTMLElement는 Element 인터페이스를 상속합니다.
Element는 Node 인터페이스를 상속합니다.
Node는 EventTarget 인터페이스를 상속합니다.

왜 p 요소 또는 모든 html 요소에서 addEventListener를 사용하여 이벤트를 추가할 수 있나요?
답변: EventTarget 인터페이스에서 상속되었습니다. 완전한 HTML 객체는 어떤 모습이며 어떻게 생성하나요?왜 각 DOM 노드에는 parentNode, firstChild, nodeType 등과 같은 속성이 있나요?
답변: Node 인터페이스에서 상속되었습니다.
모든 DOM 요소에 className, classList, innerHTML 등과 같은 속성이 있는 이유는 무엇인가요?
답변: Element 인터페이스에서 상속되었습니다.
일부 DOM 요소에 accessKey, contentEditable, isContentEditable 등과 같은 속성이 있는 이유는 무엇인가요?
답변: HTMLElement 인터페이스에서 상속되었습니다.
왜 모든 DOM 요소에는 onclick, ondblclick, ondrag 및 기타 속성이 있나요?
답변: GlobalEventHandlers 인터페이스에서 상속됩니다.

그럼 포인트는 여기!
end:

위의 상속 관계를 통해서만 우리가 얻는 DOM 요소는 완전한 HTML 객체이며 이에 대한 속성을 설정/가져올 수 있습니다. 이벤트 바인딩, 스타일 클래스 추가 및 기타 작업. 관련 기사:

js 객체가 DOM 객체인지 확인하는 방법

데이터베이스 무결성의 개념은 무엇인가요?

관련 동영상:

HTML5 정식 버전 매뉴얼

위 내용은 완전한 HTML 객체는 어떤 모습이며 어떻게 생성하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

HTML, CSS 및 JavaScript는 최신 웹 페이지를 구축하기위한 핵심 기술입니다. 1. HTML 웹 페이지 구조를 정의합니다. 2. CSS는 웹 페이지의 모양을 담당합니다.

마크 업 언어로서의 HTML : 기능과 목적마크 업 언어로서의 HTML : 기능과 목적Apr 22, 2025 am 12:02 AM

HTML의 기능은 웹 페이지의 구조와 내용을 정의하는 것이며, 그 목적은 정보를 표시하는 표준화 된 방법을 제공하는 것입니다. 1) HTML은 타이틀 및 단락과 같은 태그 및 속성을 통해 웹 페이지의 다양한 부분을 구성합니다. 2) 콘텐츠 및 성능 분리를 지원하고 유지 보수 효율성을 향상시킵니다. 3) HTML은 확장 가능하므로 사용자 정의 태그가 SEO를 향상시킬 수 있습니다.

HTML, CSS 및 JavaScript의 미래 : 웹 개발 동향HTML, CSS 및 JavaScript의 미래 : 웹 개발 동향Apr 19, 2025 am 12:02 AM

HTML의 미래 트렌드는 의미론 및 웹 구성 요소이며 CSS의 미래 트렌드는 CSS-In-JS 및 CSShoudini이며, JavaScript의 미래 트렌드는 WebAssembly 및 서버리스입니다. 1. HTML 시맨틱은 접근성과 SEO 효과를 향상시키고 웹 구성 요소는 개발 효율성을 향상 시키지만 브라우저 호환성에주의를 기울여야합니다. 2. CSS-in-JS는 스타일 관리 유연성을 향상 시키지만 파일 크기를 증가시킬 수 있습니다. CSShoudini는 CSS 렌더링의 직접 작동을 허용합니다. 3. Webosembly는 브라우저 애플리케이션 성능을 최적화하지만 가파른 학습 곡선을 가지고 있으며 서버리스는 개발을 단순화하지만 콜드 스타트 ​​문제의 최적화가 필요합니다.

HTML : 구조, CSS : 스타일, 자바 스크립트 : 동작HTML : 구조, CSS : 스타일, 자바 스크립트 : 동작Apr 18, 2025 am 12:09 AM

웹 개발에서 HTML, CSS 및 JavaScript의 역할은 다음과 같습니다. 1. HTML은 웹 페이지 구조를 정의하고, 2. CSS는 웹 페이지 스타일을 제어하고 3. JavaScript는 동적 동작을 추가합니다. 그들은 함께 현대 웹 사이트의 프레임 워크, 미학 및 상호 작용을 구축합니다.

HTML의 미래 : 웹 디자인의 진화 및 트렌드HTML의 미래 : 웹 디자인의 진화 및 트렌드Apr 17, 2025 am 12:12 AM

HTML의 미래는 무한한 가능성으로 가득합니다. 1) 새로운 기능과 표준에는 더 많은 의미 론적 태그와 WebComponents의 인기가 포함됩니다. 2) 웹 디자인 트렌드는 반응적이고 접근 가능한 디자인을 향해 계속 발전 할 것입니다. 3) 성능 최적화는 반응 형 이미지 로딩 및 게으른로드 기술을 통해 사용자 경험을 향상시킬 것입니다.

HTML vs. CSS vs. JavaScript : 비교 개요HTML vs. CSS vs. JavaScript : 비교 개요Apr 16, 2025 am 12:04 AM

웹 개발에서 HTML, CSS 및 JavaScript의 역할은 다음과 같습니다. HTML은 컨텐츠 구조를 담당하고 CSS는 스타일을 담당하며 JavaScript는 동적 동작을 담당합니다. 1. HTML은 태그를 통해 웹 페이지 구조와 컨텐츠를 정의하여 의미를 보장합니다. 2. CSS는 선택기와 속성을 통해 웹 페이지 스타일을 제어하여 아름답고 읽기 쉽게 만듭니다. 3. JavaScript는 스크립트를 통해 웹 페이지 동작을 제어하여 동적 및 대화식 기능을 달성합니다.

HTML : 프로그래밍 언어입니까 아니면 다른 것입니까?HTML : 프로그래밍 언어입니까 아니면 다른 것입니까?Apr 15, 2025 am 12:13 AM

Htmlisnotaprogramminglanguage; itisamarkuplanguage.1) htmlstructuresandformatswebcontentusingtags.2) itworksporstylingandjavaScriptOfforIncincivity, WebDevelopment 향상.

HTML : 웹 페이지 구조 구축HTML : 웹 페이지 구조 구축Apr 14, 2025 am 12:14 AM

HTML은 웹 페이지 구조를 구축하는 초석입니다. 1. HTML은 컨텐츠 구조와 의미론 및 사용 등을 정의합니다. 태그. 2. SEO 효과를 향상시키기 위해 시맨틱 마커 등을 제공합니다. 3. 태그를 통한 사용자 상호 작용을 실현하려면 형식 검증에주의를 기울이십시오. 4. 자바 스크립트와 결합하여 동적 효과를 달성하기 위해 고급 요소를 사용하십시오. 5. 일반적인 오류에는 탈수 된 레이블과 인용되지 않은 속성 값이 포함되며 검증 도구가 필요합니다. 6. 최적화 전략에는 HTTP 요청 감소, HTML 압축, 시맨틱 태그 사용 등이 포함됩니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)