찾다
웹 프론트엔드JS 튜토리얼'JavaScript DOM 프로그래밍 기술' 읽기 노트 DOM 기본_javascript 기술

DOM
         
DOM: 문서 ​​객체 모델

노드

요소 노드: DOM의 원자는 요소 노드입니다.

,

,

    과 같은 요소입니다. 요소에는 다른 요소가 포함될 수 있습니다. 다른 요소 내에 포함되지 않은 유일한 요소는 요소입니다.

    텍스트 노드: XHTML 문서에서 텍스트 노드는 항상 요소 노드 내에 포함됩니다.

    속성 노드: 속성 노드는 요소에 대한 보다 구체적인 설명을 제공하는 데 사용됩니다. 예를 들어 거의 모든 요소에는 제목 속성이 있으며 이 속성을 사용하여 요소에 포함된 내용을 정확하게 설명할 수 있습니다.

    이 물건을 구입하는 것을 잊지 마세요.

    DOM에서 title="a 젠틀 알림"은 속성 노드입니다.

    CSS

    요소 가져오기
    요소 노드를 가져오는 방법에는 getElementById, getElementsByTagName 및 getElementsByClassName의 세 가지 방법이 있습니다.

    GetElementsByTagName은 와일드카드를 매개변수로 허용합니다. 즉, 문서의 모든 요소가 이 함수에서 반환된 배열에 위치를 갖게 됩니다. 와일드카드 문자("*")는 곱하기 연산과 구별하기 위해 따옴표로 묶어야 합니다.

    getElementById와 getElementsByTagName을 결합할 수도 있습니다. 아래와 같이:

    코드 복사 코드는 다음과 같습니다.

        var shopping = document.getElementById("purchase");
        var items = shopping.getElementsByTagName("*");

    이렇게 하면 구매의 id 속성 값을 가진 요소에 몇 개의 요소가 포함되어 있는지 얻을 수 있습니다.

    getElementsByClassName 메소드는 최신 브라우저에서만 지원됩니다. 이를 보완하기 위해 DOM 스크립트 프로그래머는 기존 DOM 메서드를 사용하여 자신만의 getElementsByClassName을 구현해야 합니다. 대부분의 경우 구현 프로세스는 다음 getElementsByClassName과 대략 유사합니다.

    코드 복사 코드는 다음과 같습니다.

    함수 getElementsByClassName(노드, 클래스 이름){
    If(node.getElementsByClassName){
                 return node.getElementsByClassName(클래스 이름);
             }그 외{
            var 결과 = new Array();
                var elems = node.getElementsByTagName("*");
    for(var i=0;i If(elems[i].className.indexOf(클래스 이름) != -1){
    결과[결과.길이] = 요소[i];
                }
             }
             결과 반환
    }
    }

    이 getElementsByClassName 함수는 두 개의 매개변수를 허용합니다. 첫 번째 노드는 DOM 트리에서 검색 요소의 시작점을 나타내고 두 번째 클래스 이름은 검색할 클래스 이름입니다.

    속성 가져오기 및 설정

    getAttribute는 쿼리하려는 속성의 이름인 매개변수가 하나만 있는 함수입니다.

    코드 복사 코드는 다음과 같습니다.

    object.getAttribute(속성)

    setAttribute()를 사용하면 속성 노드의 값을 수정할 수 있습니다. setAttribute를 통해 문서를 수정한 후 브라우저의 소스 보기 옵션을 통해 문서의 소스 코드를 보면 변경 전의 속성 값이 계속 표시됩니다. 즉, setAttribute에 의해 수정된 내용은 변경되지 않습니다. 문서 자체의 소스 코드에 반영됩니다. 이러한 "외관과 내부의 불일치" 현상은 DOM의 작업 모드에서 발생합니다. 즉, 문서의 정적 콘텐츠가 먼저 로드된 다음 동적으로 새로 고쳐집니다. 동적 새로 고침은 문서의 정적 콘텐츠에 영향을 주지 않습니다. 이것이 DOM의 진정한 힘입니다. 즉, 브라우저에서 페이지를 새로 고치지 않고 페이지 콘텐츠를 새로 고치는 것입니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP基础教程:从入门到精通PHP基础教程:从入门到精通Jun 18, 2023 am 09:43 AM

PHP是一种广泛使用的开源服务器端脚本语言,它可以处理Web开发中所有的任务。PHP在网页开发中的应用广泛,尤其是在动态数据处理上表现优异,因此被众多开发者喜爱和使用。在本篇文章中,我们将一步步地讲解PHP基础知识,帮助初学者从入门到精通。一、基本语法PHP是一种解释性语言,其代码类似于HTML、CSS和JavaScript。每个PHP语句都以分号;结束,注

Vue3获取DOM节点的方式有哪些Vue3获取DOM节点的方式有哪些May 11, 2023 pm 04:55 PM

1.原生js获取DOM节点:document.querySelector(选择器)document.getElementById(id选择器)document.getElementsByClassName(class选择器)....2.vue2中获取当前组件的实例对象:因为每个vue的组件实例上,都包含一个$refs对象,里面存储着对应的DOM元素或组件的引用。所以在默认情况下,组件的$refs指向一个空对象。可以先在组件上加上ref="名字",然后通过this.$refs.

PHP中的DOM操作指南PHP中的DOM操作指南May 21, 2023 pm 04:01 PM

在网页开发中,DOM(DocumentObjectModel)是一个非常重要的概念。它可以让开发者轻松地对一个网页的HTML或XML文档进行修改和操作,比如添加、删除、修改元素等。而PHP中内置的DOM操作库也为开发者提供了丰富的功能,本文将介绍PHP中的DOM操作指南,希望可以帮助到大家。DOM的基本概念DOM是一个跨平台、独立于语言的API,它可以将

vue dom是什么意思啊vue dom是什么意思啊Dec 20, 2022 pm 08:41 PM

dom是一种文档对象模型,同时也是用于html编程的接口,通过dom来操作页面中的元素。DOM是HTML文档的内存中对象表示,它提供了使用JavaScript与网页交互的方式。DOM是节点的层次结构(或树),其中document节点作为根。

vue3中ref绑定dom或组件失败的原因是什么及怎么解决vue3中ref绑定dom或组件失败的原因是什么及怎么解决May 12, 2023 pm 01:28 PM

vue3ref绑定dom或者组件失败原因分析场景描述在vue3中经常用到使用ref绑定组件或者dom元素的情况,很多时候,明明使用ref绑定了相关组件,但是经常ref绑定失败的情况。ref绑定失败情况举例ref绑定失败的绝大多数情况是,在ref和组件绑定的时候,该组件还未渲染,所以绑定失败。或者组件刚开始未渲染,ref未绑定,当组件开始渲染,ref也开始绑定,但是ref和组件并未绑定完成,这个时候使用组件相关的方法就会出现问题。ref绑定的组件使用了v-if,或者他的父组件使用了v-if导致页面

dom和bom对象有哪些dom和bom对象有哪些Nov 13, 2023 am 10:52 AM

dom和bom对象有:1、“document”、“element”、“Node”、“Event”和“Window”等5种DOM对象;2、“window”、“navigator”、“location”、“history”和“screen”等5种BOM对象。

bom和dom有什么区别bom和dom有什么区别Nov 13, 2023 pm 03:23 PM

bom和dom在作用和功能、与JavaScript的关系、相互依赖性、不同浏览器的兼容性和安全性考虑等方面都有区别。详细介绍:1、作用和功能,BOM的主要作用是操作浏览器窗口,它提供了浏览器窗口的直接访问和控制,而DOM的主要作用则是将网页文档转换为一个对象树,允许开发者通过这个对象树来获取和修改网页的元素和内容;2、与JavaScript的关系等等。

学习Go语言变量的基础知识学习Go语言变量的基础知识Mar 22, 2024 pm 09:39 PM

Go语言是一种由Google开发的静态类型、编译型语言,其简洁、高效的特性受到了广泛的开发者关注和喜爱。在学习Go语言的过程中,熟练掌握变量的基础知识是至关重要的一步。本文将通过具体的代码示例来讲解Go语言中变量的定义、赋值、类型推断等基础知识,帮助读者更好地理解和掌握这些知识点。在Go语言中,定义一个变量可以使用关键字var,即var变量名变量类型的格

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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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