찾다
웹 프론트엔드JS 튜토리얼Jquery 기본 튜토리얼 DOM 작업

Jquery 기본 튜토리얼 DOM 작업

May 16, 2016 pm 03:44 PM
DOM 작업jquery

DOM은 브라우저, 플랫폼, 언어와 아무런 관련이 없는 인터페이스라는 것은 누구나 알고 있습니다. DOM 인터페이스를 사용하면 페이지의 모든 표준 구성 요소에 쉽게 액세스할 수 있습니다. 이 기사에서는 기본 jquery 튜토리얼의 DOM 작업을 주로 설명합니다. 도움이 필요한 친구들은

을 참고하시면 됩니다. DOM의 풀네임은 Document Object Model의 약자로 문서 객체 모델을 의미합니다. DOM은 브라우저, 플랫폼 및 언어에 독립적인 인터페이스입니다. DOM 인터페이스를 사용하면 페이지의 모든 표준 구성 요소에 쉽게 액세스할 수 있습니다. DOM 작업은 일반적으로 DOM Core, HTM-Dom 및 CSS-DOM의 세 가지 측면으로 나눌 수 있습니다.

모든 웹페이지는 DOM으로 표현될 수 있으며, 각 DOM은 DOM 트리로 간주될 수 있습니다. 다음 html 페이지 구조는 DOM 트리를 구성할 수 있습니다.

코드는 다음과 같습니다.

<meta http-equiv="Content-Type" content="text/html;charset=utf-8"
 DOM Demo你最喜欢的水果是?苹果橘子菠萝

DOM 트리

 Jquery 기본 튜토리얼 DOM 작업

JQuery의 DOM 작업에는 주로 생성 [새로 만들기], 추가 [추가], 삭제 [삭제], 변경 [수정] 및 검색이 포함됩니다. 검색] [데이터베이스 작업과 유사]. 다음 DOM 작업은 위의 DOM 트리에 초점을 맞춰 JQueryDOM 작업을 학습합니다.

1. 검색--DOM 노드 찾기

노드를 찾는 것이 매우 쉽고 선택기를 사용하여 다양한 검색 작업을 쉽게 완료할 수 있습니다. 예: 요소 노드 p를 검색하면 p 내의 텍스트 콘텐츠가 반환됩니다. $("p").text(); 예: 요소 노드 p의 속성을 검색하면 속성 이름 $("p").attr에 해당하는 속성 값이 반환됩니다. ("title" )은 p의 속성 제목 값을 반환합니다.

2. 새 DOM 노드 생성

1. 요소 노드를 생성합니다.

node as

  • 요소의 하위 노드가 DOM 노드 트리에 추가됩니다. 먼저 요소 포인트를 생성합니다. Jquery의 팩토리 함수 $()를 사용하여 요소 노드를 생성합니다. 형식은 $(html)입니다. 이 메서드는 들어오는 html 문자열을 기반으로 DOM 객체를 반환하고 DOM 객체를 JQuery로 래핑합니다. 개체 후 반환합니다.

요소 노드를 생성하는 JQuery 코드는 다음과 같습니다.

$li1=$("")

코드는 래핑된 JQuery 객체인 $li1을 반환합니다. DOM 객체에 의해. DOM 트리에 새 노드를 추가하는 JQuery 코드는 다음과 같습니다.

$("ul").append($li1);

추가 후

  • 요소만 추가할 수 있습니다. 기본적으로 페이지에 표시됩니다. "·", 노드에 텍스트가 추가되지 않으므로 아래에 기본 기호만 표시됩니다.

PS: 추가() 메서드는 DOM 노드를 추가하는 것입니다. 자세한 내용은 추가--DOM 노드 추가를 참조하세요.

2. 텍스트 노드 생성

JQuery의 팩토리 함수 $()를 사용하여 텍스트 노드를 생성하는 JQuery 코드는 다음과 같습니다.

$li2=$("苹果");

이 코드는 JQuery 객체에 패키징된 DOM 객체인 $li2를 반환합니다. 새로 생성된 텍스트 노드가 DOM 트리에 추가됩니다.    

$("ul").append($li2);
3. 속성 노드 생성

속성 노드 생성은 요소 노드 및 텍스트 노드와 마찬가지로 JQuery의 팩토리 함수를 사용하여 수행됩니다. 속성 노드를 생성하는 JQuery 코드는 다음과 같습니다.

코드는 JQuery 객체에 패키징된 DOM 객체인 $li3을 반환합니다. 새로 생성된 속성 노드를 추가합니다. DOM 트리에 JQuery 코드는 다음과 같습니다. :   
$li3=$("榴莲");  

추가한 후 페이지에서 마우스 오른쪽 버튼을 클릭하면 페이지 소스 코드를 볼 수 있습니다. 새로 추가된 속성 노드에 속성 제목='Durian'이 있음을 확인합니다.
$("ul").append($li3);
3. 추가--DOM 노드 추가

문서에 새 요소를 추가하지 않고 동적으로 생성하는 것은 의미가 없습니다. 다음과 같이 document.

1.append() 메소드

append() 메소드는 일치하는 요소에 내용을 추가합니다.

예:   
$("target").append(element);

이 메서드는 ul 요소를 찾은 다음 새 li 요소를 ul에 추가합니다.
$("ul").append("香蕉");
2.appendTo() 메소드

appendTo() 메소드는 지정된 요소에 일치하는 모든 요소를 ​​추가합니다. 연산 주체의 반전은 연산] 연산의 결과가 아니다. 방법은 다음과 같습니다: $(element).appendTo(target); 예:   

이 방법은 새 요소 li를 생성한 다음 찾은 ul 요소에 li를 추가합니다. .
$("荔枝").appendTo("ul");
3. prepend() 메소드

prepend() 메소드는 일치하는 각 요소 안에 추가할 요소를 추가합니다.

例:     

$("ul").prepend("芒果")

该方法将查找元素ul然后将新建的li元素作为ul子节点,且作为ul的第一个子节点插入到ul中。

4、prependTo()方法

prependTo()方法将元素添加到每一个匹配的元素内部前置,方法如下:

$(element).prependTo();

例:     

$("西瓜").prependTo("ul");

该方法将新建的元素li插入到查找到的ul元素中作为ul的第一个子节元素。

5、after()方法

after()方法向匹配的元素后面添加元素,新添加的元素做为目标元素后的紧邻的兄弟元素。方法如下:

$(target).after(element);

例:

$("p").after("新加段新加段新加段新加段新加段");

方法将查找节点p,然后把新建的元素添加到span节点后面做为p的兄弟节点。

6、insertAfter()方法

insertAfter()方法将新建的元素插入到查找到的目标元素后,做为目标元素的兄弟节点。方法如下:

$(element).insertAfter(target);

例:     

$("insertAfter操作").insertAfter("span");

方法将新建的p元素添加到查找到目标元素span后面,做为目标元素后面的第一个兄弟节点。

7、before()方法

before()方法在每一个匹配的元素之前插入,做为匹配元素的前一个兄弟节点。方法如下:

$(target).before(element);

例:

$("p").before("下面是个段落");

before方法查找每个元素p,将新建的span元素插入到元素p之前做为p的前一个兄弟节点。

8、insertBefore()方法

insertBefore()方法将新建元素添加到目标元素前,做为目标元素的前一个兄弟节点,方法如下:

$(element).insertBefore(target);

例:      

$("锚").insertBefore("ul");

insertBefore()新建a元素,将新建的a元素添加到元素ul前,做为ul的前一个兄弟节点。

增加元素的方法前四个是添加到元素内部,后四个是添加到元素外部的操作,有这些方法可以完成任何形式的元素添加。

四、删--删除DOM节点操作

如果想要删除文档中的某个元素JQuery提供了两种删除节点的方法:remove()和empty();

1、remove()方法

remove()方法删除所有匹配的元素,传入的参数用于筛选元素,该方法能删除元素中的所有子节点,当匹配的节点及后代被删除后,该方法返回值是指向被删除节点的引用,因此可以使用该引用,再使用这些被删除的元素。

方法如下:

$(element).remove();

例:     

$span=$("span").remove();
$span.insertAfter("ul");

该示例中先删除所有的span元素,把删除后的元素使用$span接收,把删除后的元素添加到ul后面做为ul的兄弟节点。该操作相当于将所有的span元素以及后代元素移到ul后面。

2、empty()方法。

empty()方法严格来讲并不是删除元素,该方法只是清空节点,它能清空元素中的所有子节点。方法如下:

$(element).empty();

例:      

$("ul li:eq(0)").empty();

该示例使用empty方法清空ul中第一个li的文本值。只能下li标签默认符号”·“。

五、改--修改DOM节点操作

修改文档中的元素节点可以使用多种方法:复制节点、替换节点、包裹节点。

1、复制节点$(element).clone()

复制节点方法能够复制节点元素,并且能够根据参数决定是否复制节点元素的行为。方法如下:

$(element).clone(true);

例:       

$("ul li:eq(0)").clone(true);

该方法复制ul的第一个li元素,true参数决定复制元素时也复制元素行为,当不复制行为时没有参数。

2、替换节点$(element).repalcewith()、$(element).repalceAll()

替换节点方法能够替换某个节点,有两种形式形式实现:replaceWith()和replaceAll().使用replaceWith方法使用后面的元素替换前面的元素,replaceAll方法使用前面的元素替换后面的元素,

方法如下:

$(oldelement).replaceWith(newelement);$(newelement).repalceAll(oldelement);

例:             

$("p").replaceWith("我要留下");

该方法使用strong元素替换p元素。        

$("替换strong").repalceAll("strong");

该例使用h3元素替换所有的strong元素。

3、包裹节点$(element).wrap()、$(element).wrapAll()、$(element).wrapInner()

包裹节点方法使用其他标记包裹目标元素从而改变元素的显示形式等,并且该操作不会破坏原始文档的词义。包裹节点有三种实现形式:wrap();wrapAll();wrapInner();

wrap()方法如下:

$(dstelement).wrap(tag);

例:        

$("p").wrap("");

该示例方法使用b标签包裹所有的p元素每个元素都使用b标签包裹。

wrapAll()方法如下:

$(dstelement).wrapAll(tag);

例:        

$("p").wrapAll("");

访示例方法使用b标签包裹所有的p元素,所有的p元素标签用一个b标签包裹。

wrapInner()方法如下:

$(dstelement).wrapInner(tag);

例:       

 $("strong").wrapInner("");

该示例使用b标签包裹每个一strong元素的子元素。

Dom元素的其他操作:属性操作、样式操作、设置和获取HTML,文本和值、遍历节点操作、Css-Dom操作。

1、属性操作attr()和removeAttr()

attr()方法能够获取元素属性,也能能够设置元素属性。方法如下,当attr(para1)方法有个参数时候用于获得当前元素的para1的属性值,当attr(para1,attrValue)有两个参数时候设置当前元素的属性名为para1的属性值为attrValue;例:      

$("p").attr("title");

该示例用于获得p元素的title属性值。     

$("p").attr("title","你最喜欢的水果");

该示例设置p元素的title属性值为"你最喜欢的水果";

如果一次设置多个属性值可以使用“名/值”对形式,例:      

$("p").attr({"title":"你最喜欢的水果","name":"水果"})

该示例一次设置两个属性值。

removeAttr()方法用于删除特定的属性,方法是在参数中指定属性名。例:      

$("p").removeAttr("name");

该方法就是移除p元素的name属性。

2、样式操作addClass()、removeClass()、toggleClass()和hasClass()

添加样式addClass()方法,使用该方法对目标元素添加相应的样式,方法如下:

$(element).addClass();

例:     

$("p").addClass("ul");

该示例设置元素p的样式为ul。

移除样式removeClass()方法,使用该方法移除目标元素的指定样式,方法如下:

$(element).removeClass();

例:     

$("p").removeClass("ul");

该救命去除掉p元素的ul类样式。

切换样式toggleClass()方法,使用该方法切换目标元素的样式,方法如下:

$(element).toggleClass();

例:      

$("p").toggleClass("ul");

该方法来回切换【添加删除实现切换】元素p的样式ul.

判断元素是否使用了样式$(element).hasClass(),方法如下:

$(element).hasClass(class);

例:      

alert($("p").hasClass("ul"));

打印出p元素是否有ul样式。

PS:addClass()和attr()方法设置样式的不同,attr方法把元素的属性名对应的属性值设为方法中的参数值,addClass()则把属性值

添加到属性名对应的属性值中。例:已有元素元素样式,使用attr()和addClass()分别添加新样式。      

$("p").attr("class","another").

结果是:

元素样式

       
$("p").addClass("class","another")

结果是:

元素样式

3、设置和获取HTML【html()】,文本【text()】和值【val()】

html()方法获得或设置某个元素的html元素。方法如下:

$(selector).html();

例:

$("p").html();该示例获得元素p的html内容。

$("p").html("添加html内容");该示例设置p的html内容为”添加html内容“;

PS:该方法可以用于XHTML文档,不能用于XML文档。

text()方法获得或设置某个元素的文本值。方法如下:$(selecotr).text();例:

$("p").text();该示例获得元素p的text文本内容。

$("p").text("重新设置的文本内容");该示例设置元素p的text文本为"重新设置的文本内容";

PS:该方法对html和XML文档都适用。

val()方法获得或设置某个元素的值,如果元素值是多选则以数组形式返回,方法如下:

$(selector).val();

例:文本元素

<input type="text" id="userName" value="请输入用户名" />

$("#userName").val();获得input元素的值。

$("#userName").val('响马');设置input元素的值为'响马'。

val()方法的不仅能操作input,最重要的一个用途用于select【下拉列表框】、checkbox【多选框】、radio【单选框】。

例:在下拉框下的多选赋值应用

<select id="fruits" multiple="multiple">
<option>苹果</option>
<option>香蕉</option>
<option>西瓜</option>
</select>

$("#fruits").val(['苹果','香蕉']);该示例使select中苹果和香蕉两项被选中。

4、遍历节点操作children()、next()、prev()、siblings()和closest()

children()方法用于取得匹配元素的子元素集合,只匹配子元素不考虑任何后代元素。方法如下:

$(selector).children();

例:      

 $("$("body").children().length;

该示例获得body元素的子元素个数;

next()方法用于匹配元素的下一个兄弟节点,方法如下:

$(selector).next();

例:      

$("p").next().html();

该示例获得p元素的下一个兄弟节点的html内容。

prev()方法用于匹配元素的上一个兄弟节点,方法如下:

$(selector).prev();

例:       

$("ul").prev().text();

该示例获得ul元素的上一个兄弟节点的文本内容。

siblings方法()用于匹配目标元素的所有兄弟元素,方法如下:

$(selector).siblings();

例:

$("p").slibings();示例获得p元素的所有兄弟节点元素。

closest()方法()用来取得最近的匹配元素,首先检查当前元素是否匹配如果匹配则直接返回,否则继续向上查找父元素中符合条件的元素返回,如果没有匹配的元素则返回空JQuery对象。

5、CSS-Dom操作css()、offset()、position()、scrollTop()和scrollLeft()

css()方法用于获取、设置元素的一个或多个属性。方法如下:

$(selector).css();

例:       

$("p").css("color","red");

该示例用于设置元素的颜色属性为红色;

$("p").css("color")该示例用于获得元素的color样式值;       

$("p").css({"font-size":"30px","backgroundColor","#888888"});

该示例用于设置元素的多个样式。

offset()方法用于获取元素相对当前窗体的偏移量,其返回对象包括两个属性:top和left。

方法如下:

$(selector).offset()

该示例用于获得元素p的偏移量。

PS:offset()只对可见元素有效。

position()方法用于获取元素于最近的个position样式属性设置为relative或者absolute的祖交节点的相对偏移量。方法如下:

$(selector).position();

例:      

var postion = $("p").positon();var left=positon.left;var top=positon.top;

该示例用于获得元素p的位置。

scrollTop()和scrollLeft()方法用于获取元素的滚动条距顶端的距离和距左侧的距离。方法如下:

$(selector).scrollTop();$(selector).scrollLeft();

例:      

var scrollTop=$("p").scrollTop();var scrollLeft=$("p").scrollLeft();

该示例用于获得元素的滚动条的位置。

也可以添加参数将元素滚动到指定的位置。例:      

$("textarea").scrollTop(300);$("textarea").scrollLeft(300);

以上所述就是Jquery基础教程之DOM操作,希望对大家有所帮助,更多相关教程请访问jQuery视频教程

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

예, JavaScript의 엔진 코어는 C로 작성되었습니다. 1) C 언어는 효율적인 성능과 기본 제어를 제공하며, 이는 JavaScript 엔진 개발에 적합합니다. 2) V8 엔진을 예를 들어, 핵심은 C로 작성되며 C의 효율성 및 객체 지향적 특성을 결합하여 C로 작성됩니다.

JavaScript의 역할 : 웹 대화식 및 역동적 인 웹JavaScript의 역할 : 웹 대화식 및 역동적 인 웹Apr 24, 2025 am 12:12 AM

JavaScript는 웹 페이지의 상호 작용과 역학을 향상시키기 때문에 현대 웹 사이트의 핵심입니다. 1) 페이지를 새로 고치지 않고 콘텐츠를 변경할 수 있습니다. 2) Domapi를 통해 웹 페이지 조작, 3) 애니메이션 및 드래그 앤 드롭과 같은 복잡한 대화식 효과를 지원합니다. 4) 성능 및 모범 사례를 최적화하여 사용자 경험을 향상시킵니다.

C 및 JavaScript : 연결이 설명되었습니다C 및 JavaScript : 연결이 설명되었습니다Apr 23, 2025 am 12:07 AM

C 및 JavaScript는 WebAssembly를 통한 상호 운용성을 달성합니다. 1) C 코드는 WebAssembly 모듈로 컴파일되어 컴퓨팅 전력을 향상시키기 위해 JavaScript 환경에 도입됩니다. 2) 게임 개발에서 C는 물리 엔진 및 그래픽 렌더링을 처리하며 JavaScript는 게임 로직 및 사용자 인터페이스를 담당합니다.

웹 사이트에서 앱으로 : 다양한 JavaScript 애플리케이션웹 사이트에서 앱으로 : 다양한 JavaScript 애플리케이션Apr 22, 2025 am 12:02 AM

JavaScript는 웹 사이트, 모바일 응용 프로그램, 데스크탑 응용 프로그램 및 서버 측 프로그래밍에서 널리 사용됩니다. 1) 웹 사이트 개발에서 JavaScript는 HTML 및 CSS와 함께 DOM을 운영하여 동적 효과를 달성하고 jQuery 및 React와 같은 프레임 워크를 지원합니다. 2) 반응 및 이온 성을 통해 JavaScript는 크로스 플랫폼 모바일 애플리케이션을 개발하는 데 사용됩니다. 3) 전자 프레임 워크를 사용하면 JavaScript가 데스크탑 애플리케이션을 구축 할 수 있습니다. 4) node.js는 JavaScript가 서버 측에서 실행되도록하고 동시 요청이 높은 높은 요청을 지원합니다.

Python vs. JavaScript : 사용 사례 및 응용 프로그램 비교Python vs. JavaScript : 사용 사례 및 응용 프로그램 비교Apr 21, 2025 am 12:01 AM

Python은 데이터 과학 및 자동화에 더 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 더 적합합니다. 1. Python은 데이터 처리 및 모델링을 위해 Numpy 및 Pandas와 같은 라이브러리를 사용하여 데이터 과학 및 기계 학습에서 잘 수행됩니다. 2. 파이썬은 간결하고 자동화 및 스크립팅이 효율적입니다. 3. JavaScript는 프론트 엔드 개발에 없어서는 안될 것이며 동적 웹 페이지 및 단일 페이지 응용 프로그램을 구축하는 데 사용됩니다. 4. JavaScript는 Node.js를 통해 백엔드 개발에 역할을하며 전체 스택 개발을 지원합니다.

JavaScript 통역사 및 컴파일러에서 C/C의 역할JavaScript 통역사 및 컴파일러에서 C/C의 역할Apr 20, 2025 am 12:01 AM

C와 C는 주로 통역사와 JIT 컴파일러를 구현하는 데 사용되는 JavaScript 엔진에서 중요한 역할을합니다. 1) C는 JavaScript 소스 코드를 구문 분석하고 추상 구문 트리를 생성하는 데 사용됩니다. 2) C는 바이트 코드 생성 및 실행을 담당합니다. 3) C는 JIT 컴파일러를 구현하고 런타임에 핫스팟 코드를 최적화하고 컴파일하며 JavaScript의 실행 효율을 크게 향상시킵니다.

자바 스크립트 행동 : 실제 예제 및 프로젝트자바 스크립트 행동 : 실제 예제 및 프로젝트Apr 19, 2025 am 12:13 AM

실제 세계에서 JavaScript의 응용 프로그램에는 프론트 엔드 및 백엔드 개발이 포함됩니다. 1) DOM 운영 및 이벤트 처리와 관련된 TODO 목록 응용 프로그램을 구축하여 프론트 엔드 애플리케이션을 표시합니다. 2) Node.js를 통해 RESTFULAPI를 구축하고 Express를 통해 백엔드 응용 프로그램을 시연하십시오.

JavaScript 및 웹 : 핵심 기능 및 사용 사례JavaScript 및 웹 : 핵심 기능 및 사용 사례Apr 18, 2025 am 12:19 AM

웹 개발에서 JavaScript의 주요 용도에는 클라이언트 상호 작용, 양식 검증 및 비동기 통신이 포함됩니다. 1) DOM 운영을 통한 동적 컨텐츠 업데이트 및 사용자 상호 작용; 2) 사용자가 사용자 경험을 향상시키기 위해 데이터를 제출하기 전에 클라이언트 확인이 수행됩니다. 3) 서버와의 진실한 통신은 Ajax 기술을 통해 달성됩니다.

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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경