首頁 web前端 js教程 Jquery基礎教程之DOM操作

Jquery基礎教程之DOM操作

May 16, 2016 pm 03:44 PM
dom操作 jquery

大家都知道dom是一種與瀏覽器、平台、語言無關的接口,使用dom接口可以很輕鬆訪問頁面中所有的標準組件,本篇文章主要給大家講解jquery基礎教程之dom操作,有需要的朋友可以參考下

對於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操作。

一、查--查找DOM節點

找節點很容易,使用選擇器就能輕鬆完成各種查找工作。範例:找出元素節點p傳回p內的文字內容$("p").text();範例:找出元素節點p的屬性回傳屬性名稱對應的屬性值$("p").attr("title" ),傳回p的屬性title的值。

二、建--新建DOM節點

1、建立元素節點

建立元素節點並且把節點當作

  • 元素的子節點加入DOM節點樹上。先建立元素點,建立元素節點使用Jquery的工廠函數$()來完成,格式如下:$(html),這個方法會根據傳入的html字串傳回一個DOM對象,並將DOM物件包裝成一個JQuery對象後返回。

 建立一個元素節點JQuery程式碼如下:

$li1=$("")
登入後複製

程式碼回傳$li1就是一個由DOM物件包裝成的JQuery物件。把新節點加入DOM樹JQuery程式碼如下:

$("ul").append($li1);
登入後複製

新增後頁只能看到

  • 元素預設的"·",由於沒有為節點新增文字所以只顯示預設符號,下面建立文字節點。

PS:append()方法是加入DOM節點方法詳見增--新增DOM節點。

2、建立文字節點

使用JQuery的工廠函數$()同樣能夠建立文字節點,建立文字節點的JQuery程式碼如下:

$li2=$("苹果");
登入後複製

程式碼回傳$li2就是一個由DOM物件包裝成JQuery對象,把新建的文字節點加入DOM樹中JQuery程式碼如下:      

$("ul").append($li2);
登入後複製

$li3=$("榴莲");  
登入後複製

<
新增後頁面中能看到"·蘋果",右鍵查看頁面原始碼發現新加的文字節點沒有title屬性。下面方法建立帶有屬性的節點。
$("ul").append($li3);
登入後複製

3、建立屬性節點

建立屬性節點同元素節點、文字節點一樣使用JQuery的工廠函數完成。建立屬性節點的JQuery程式碼如下:     

程式碼回傳$li3也是一個由DOM物件包裝成JQuery對象,把新建的屬性節點加到新樹中節點:      

新增後頁面中能看到"·榴槤",右鍵查看頁面來源碼發現新加的屬性節點有title='榴槤'屬性。
$("target").append(element);
登入後複製
三、增--新增DOM節點

動態新建元素不加入文件中沒有實際意義,將新建的節點插入文件中有多種方法,如下:append()、appendTo()、prepend()、prependTo()、after()、insertAfter()、before()、insertBefore()。
$("ul").append("香蕉");
登入後複製

1、append()方法

append()方法向匹配的元素內部追加內容, 方法如下:

例:     
$("荔枝").appendTo("ul");
登入後複製

此方法尋找ul元素,然後在ul中加入新建的li元素。

2、appendTo()方法

appendTo()方法將所有匹配的元素追加到指定的元素中,該方法是append()方法的顛倒[操作主題的顛倒並非操作結果]操作。方法如下:$(element).appendTo(target);例:     
$(target).prepend(element);
登入後複製
<🎜><🎜><🎜>此方法新建元素li,然後將li加到查找到的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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1676
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
jQuery引用方法詳解:快速上手指南 jQuery引用方法詳解:快速上手指南 Feb 27, 2024 pm 06:45 PM

jQuery引用方法詳解:快速上手指南jQuery是一個受歡迎的JavaScript庫,被廣泛用於網站開發中,它簡化了JavaScript編程,並為開發者提供了豐富的功能和特性。本文將詳細介紹jQuery的引用方法,並提供具體的程式碼範例,幫助讀者快速上手。引入jQuery首先,我們需要在HTML檔案中引入jQuery函式庫。可以透過CDN連結的方式引入,也可以下載

jQuery中如何使用PUT請求方式? jQuery中如何使用PUT請求方式? Feb 28, 2024 pm 03:12 PM

jQuery中如何使用PUT請求方式?在jQuery中,發送PUT請求的方法與發送其他類型的請求類似,但需要注意一些細節和參數設定。 PUT請求通常用於更新資源,例如更新資料庫中的資料或更新伺服器上的檔案。以下是在jQuery中使用PUT請求方式的具體程式碼範例。首先,確保引入了jQuery庫文件,然後可以透過以下方式發送PUT請求:$.ajax({u

深度剖析:jQuery的優勢與劣勢 深度剖析:jQuery的優勢與劣勢 Feb 27, 2024 pm 05:18 PM

jQuery是一款廣泛應用於前端開發的快速、小巧、功能豐富的JavaScript庫。自2006年發布以來,jQuery已成為眾多開發者的首選工具之一,但在實際應用中,它也不乏一些優點和缺點。本文將深度剖析jQuery的優勢與劣勢,並結合具體的程式碼範例進行說明。優點:1.簡潔的語法jQuery的語法設計簡潔明了,可以大幅提升程式碼的可讀性和編寫效率。比如,

jQuery小技巧:快速修改頁面所有a標籤的文本 jQuery小技巧:快速修改頁面所有a標籤的文本 Feb 28, 2024 pm 09:06 PM

標題:jQuery小技巧:快速修改頁面所有a標籤的文字在網頁開發中,我們經常需要對頁面中的元素進行修改和操作。使用jQuery時,有時候需要一次修改頁面中所有a標籤的文字內容,這樣可以節省時間和精力。以下將介紹如何使用jQuery快速修改頁面所有a標籤的文本,同時給出具體的程式碼範例。首先,我們需要引入jQuery庫文件,確保在頁面中引入了以下程式碼:&lt

使用jQuery修改所有a標籤的文字內容 使用jQuery修改所有a標籤的文字內容 Feb 28, 2024 pm 05:42 PM

標題:使用jQuery修改所有a標籤的文字內容jQuery是一款受歡迎的JavaScript庫,被廣泛用於處理DOM操作。在網頁開發中,經常會遇到需要修改頁面上連結標籤(a標籤)的文字內容的需求。本文將介紹如何使用jQuery來實現這個目標,並提供具體的程式碼範例。首先,我們需要在頁面中引入jQuery庫。在HTML檔案中加入以下程式碼:

jQuery如何移除元素的height屬性? jQuery如何移除元素的height屬性? Feb 28, 2024 am 08:39 AM

jQuery如何移除元素的height屬性?在前端開發中,經常會遇到需要操作元素的高度屬性的需求。有時候,我們可能需要動態改變元素的高度,而有時候又需要移除元素的高度屬性。本文將介紹如何使用jQuery來移除元素的高度屬性,並提供具體的程式碼範例。在使用jQuery操作高度屬性之前,我們首先需要了解CSS中的height屬性。 height屬性用於設定元素的高度

了解jQuery中eq的作用及應用場景 了解jQuery中eq的作用及應用場景 Feb 28, 2024 pm 01:15 PM

jQuery是一種流行的JavaScript庫,被廣泛用於處理網頁中的DOM操作和事件處理。在jQuery中,eq()方法是用來選擇指定索引位置的元素的方法,具體使用方法和應用場景如下。在jQuery中,eq()方法選擇指定索引位置的元素。索引位置從0開始計數,即第一個元素的索引是0,第二個元素的索引是1,依此類推。 eq()方法的語法如下:$("s

使用jQuery為表格新增一行的方法介紹 使用jQuery為表格新增一行的方法介紹 Feb 29, 2024 am 08:12 AM

jQuery是一個受歡迎的JavaScript函式庫,廣泛用於網頁開發。在網頁開發過程中,經常需要透過JavaScript動態地在表格中新增一行。本文將介紹如何使用jQuery為表格新增一行,並提供具體的程式碼範例。首先,我們需要在HTML頁面中引入jQuery函式庫。可以透過以下程式碼在標籤中引入jQuery庫:

See all articles