版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
JavaScript與jQuery
網(wǎng)頁前端開發(fā)與設(shè)計-第2版學(xué)校名稱:XXXX主講教師:XXXX第10章jQueryHTMLDOM 前言
DOM指的是DocumentObjectModel(文檔對象模型),jQuery提供了一系列與DOM相關(guān)的方法能讓用戶更方便的選擇和操作HTML文檔中的元素及其屬性。本章主要內(nèi)容是jQueryHTMLDOM技術(shù)的應(yīng)用,包括jQuery獲取和設(shè)置、添加、刪除、類屬性設(shè)置以及尺寸相關(guān)函數(shù)的應(yīng)用。本章學(xué)習(xí)目標(biāo)掌握jQuery獲取和設(shè)置相關(guān)函數(shù)的使用;掌握jQuery添加相關(guān)函數(shù)的使用;掌握jQuery刪除相關(guān)函數(shù)的使用;掌握jQuery類屬性設(shè)置相關(guān)函數(shù)的使用;掌握jQuery尺寸相關(guān)系列函數(shù)的使用。目錄10.1jQuery獲取和設(shè)置
10.2jQuery添加 10.3jQuery刪除
10.4jQuery類屬性
10.5jQuery尺寸10.6階段案例:仿公眾號留言板 10.1jQuery獲取和設(shè)置jQuery能獲取或設(shè)置5種特定內(nèi)容,具體見表所示。10.1jQuery獲取和設(shè)置10.1.1jQuerytext() 10.1.2jQueryhtml() 10.1.3jQueryval()10.1.4jQueryattr()10.1.5jQuerycss()10.1.1jQuerytext()jQuerytext()可用于獲取或設(shè)置選定元素標(biāo)簽之間的文本內(nèi)容,不包含元素標(biāo)簽本身。10.1.1jQuerytext()1. 獲取文本內(nèi)容當(dāng)使用不帶任何參數(shù)的text()方法,可以獲取選定元素標(biāo)簽之間所有的文本內(nèi)容。其語法格式如下:該方法的返回結(jié)果為字符串類型,包含了所有匹配元素內(nèi)部的文本內(nèi)容。$(selector).text()10.1.1jQuerytext()1. 獲取文本內(nèi)容例如id="test01"的段落元素<p>表示如下:使用$("p#test01").text()方法獲取其中的文本內(nèi)容,返回值為:返回值只包含文本內(nèi)容,不帶有前后的HTML標(biāo)簽。<pid="test01">hello</p>hello10.1.1jQuerytext()1. 獲取文本內(nèi)容如果是元素內(nèi)部的后代元素中包含有文本,則使用text()也會獲取其中的文本內(nèi)容。例如以下情況:<divid="container"><p>element<i>1</i></p><p>element<strong>2</strong></p></div>10.1.1jQuerytext()1. 獲取文本內(nèi)容上述代碼在id="container"的<div>元素中包含了兩個段落元素<p>,并且這兩個段落元素內(nèi)部的文本內(nèi)容還分別包括了格式標(biāo)簽<i>和<strong>。此時使用$("div#container").text()方法獲取該<div>元素的文本內(nèi)容,返回值為:返回值只包含文本內(nèi)容,其中的格式化標(biāo)簽<i>和<strong>均被忽略。element1element210.1.1jQuerytext()1. 獲取文本內(nèi)容需要注意的是,text()方法不能用于處理表單元素的文本內(nèi)容,如果需要獲取或設(shè)置表單中<textarea>或<input>元素的文本值需要使用val()方法。10.1.1jQuerytext()2. 設(shè)置文本內(nèi)容設(shè)置選定元素標(biāo)簽之間文本內(nèi)容的方法如下:$(selector).text("新文本內(nèi)容")10.1.1jQuerytext()【例10-1】jQuerytext()方法獲取和設(shè)置文本內(nèi)容10.1.2jQueryhtml()jQueryhtml()用于獲取或設(shè)置選定元素標(biāo)簽的全部內(nèi)容,包括內(nèi)部的文本以及其他HTML標(biāo)記。該方法調(diào)用的是JavaScript原生屬性innerHTML。10.1.2jQueryhtml()1. 獲取HTML內(nèi)容獲取選定元素標(biāo)簽之間HTML代碼內(nèi)容的方法如下:作為獲取元素的HTML內(nèi)容時,該方法無需帶有參數(shù)。$(selector).html()10.1.2jQueryhtml()1. 獲取HTML內(nèi)容例如某段HTML代碼如下:使用$("div.test").html()獲取到的結(jié)果如下:<divclass="test"><div>這是一段內(nèi)容。</div></div><div>這是一段內(nèi)容。</div>10.1.2jQueryhtml()1. 獲取HTML內(nèi)容需要注意的是,如果符合要求的元素不止一個,該方法也只獲取第一個符合選擇器要求的元素內(nèi)部HTML代碼。例如:<divclass="test"><divclass="style01">這是第一段內(nèi)容。</div></div><divclass="test"><divclass="style02">這是第二段內(nèi)容。</div></div>10.1.2jQueryhtml()1. 獲取HTML內(nèi)容上述代碼中有兩個<div>均具有相同屬性class="test",其內(nèi)部HTML代碼不同。使用$("div.test").html()方法獲取的結(jié)果如下:該方法表示獲取屬性class="test"的<div>標(biāo)簽內(nèi)部HTML代碼。由于class屬性可以分配給任意元素,因此如果有多個<div>元素符合class="test"條件,也只獲取第一個符合的元素標(biāo)簽內(nèi)部的HTML代碼。<divclass="style01">這是第一段內(nèi)容。</div>10.1.2jQueryhtml()2. 設(shè)置HTML內(nèi)容設(shè)置選定元素標(biāo)簽之間HTML內(nèi)容的方法如下:$(selector).html("新HTML內(nèi)容")10.1.2jQueryhtml()【例10-2】jQueryhtml()方法獲取和設(shè)置HTML內(nèi)容10.1.3jQueryval()jQueryval()用于獲取或設(shè)置選定表單元素的value屬性值。10.1.3jQueryval()1. 獲取表單元素值獲取選定元素標(biāo)簽之間文本內(nèi)容的方法如下:$(selector).val()10.1.3jQueryval()2. 設(shè)置表單元素值設(shè)置選定元素標(biāo)簽之間文本內(nèi)容的方法如下:$(selector).val("新文本內(nèi)容")10.1.3jQueryval()【例10-3】jQueryval()方法獲取和設(shè)置表單元素字段值10.1.4jQueryattr()jQueryattr()用于獲取或設(shè)置選定元素的屬性值。10.1.4jQueryattr()1. 獲取元素屬性值獲取選定元素標(biāo)簽之間文本內(nèi)容的方法如下:該方法只能獲取符合條件的第一個元素的值。$(selector).attr(attributeName)10.1.4jQueryattr()1. 獲取元素屬性值例如以下這種情況:如果使用$("img").attr("src")只能獲取第一個<img>元素的src屬性值,即image/flower.jpg。<imgsrc="image/flower.jpg"/><imgsrc="image/balloon.jpg"/>10.1.4jQueryattr()2. 設(shè)置元素屬性值設(shè)置選定元素標(biāo)簽之間文本內(nèi)容的方法如下:該方法可以將所有符合條件的元素屬性值全部設(shè)置。例如:上述代碼會將所有超鏈接元素<a>的href屬性更改為。$(selector).attr(attributeName,value)$("a").attr("href","")10.1.4jQueryattr()【例10-4】jQueryattr()方法獲取和設(shè)置元素屬性值10.1.5jQuerycss()jQuerycss()用于獲取或設(shè)置選定元素的CSS屬性值。10.1.5jQuerycss()1. 獲取CSS屬性值獲取選定元素標(biāo)簽CSS屬性的方法如下:其中selector可以是任意有效的jQuery選擇器,propertyName參數(shù)位置為CSS屬性名稱。該方法可以獲得符合條件的第一個元素的指定CSS屬性值。$(selector).css(propertyName)10.1.5jQuerycss()1. 獲取CSS屬性值例如:上述代碼表示獲取頁面上第一個段落元素<p>的背景顏色。varbgColor=$("p").css("background-color");10.1.5jQuerycss()1. 獲取CSS屬性值在jQuery1.9版本中新增了數(shù)組類型的propertyName參數(shù),用于批量獲取元素的多個屬性值。其語法格式如下:其中selector參數(shù)位置可以是任意有效的選擇器,propertyNames參數(shù)位置為CSS屬性名稱的數(shù)組。該方法返回值為數(shù)據(jù)形式,包含了符合條件的第一個元素的指定CSS屬性值。$(selector).css(propertyNames)10.1.5jQuerycss()1. 獲取CSS屬性值例如:上述代碼的返回值包含了頁面上第一個段落元素<p>的背景顏色、字體顏色與字體大小。varprops=$("p").css(["background-color","color","font-size"]);10.1.5jQuerycss()2. 設(shè)置CSS屬性值設(shè)置選定元素標(biāo)簽CSS屬性值的方法如下:其中selector參數(shù)位置可以是任意有效的選擇器,propertyName參數(shù)位置為CSS屬性名稱,value參數(shù)位置為字符串或數(shù)值類型的CSS屬性值。該方法可以批量設(shè)置所有符合條件元素的指定CSS屬性值。$(selector).css(propertyName,value)10.1.5jQuerycss()2. 設(shè)置CSS屬性值例如,將頁面上所有段落元素<p>的字體顏色更新為紅色,寫法如下:$("p").css("color","red");10.1.5jQuerycss()2. 設(shè)置CSS屬性值如果有多個CSS屬性需要同時設(shè)置,語法結(jié)構(gòu)如下:即在css()方法中填入一個自定義對象,該對象中的成員名稱為CSS屬性名稱,成員的值為對應(yīng)的CSS屬性值。此時屬性名稱不需要加引號,并且需要寫成Camel標(biāo)記法的形式。例如字體粗細(xì)font-weight在這里需要改寫成fontWeight。$(selector).css({propertyName1:value1,propertyName2:value2...,propertyNameN:valueN});10.1.5jQuerycss()2. 設(shè)置CSS屬性值例如,將所有的段落元素設(shè)置為字體加粗、背景顏色為淺藍(lán)色,寫法如下:$("p").css({fontWeight:"bold",backgroundColor:"lightblue"});10.1.5jQuerycss()【例10-5】jQuerycss()方法獲取和設(shè)置元素屬性值10.2jQuery添加jQuery可以快速在頁面上添加新元素或內(nèi)容,有四種常見用法如下:append():在指定元素內(nèi)部的結(jié)尾插入內(nèi)容。prepend():在指定元素內(nèi)部的開頭插入內(nèi)容。after():在指定元素之后添加內(nèi)容。before():在指定元素之前添加內(nèi)容。10.2jQuery添加10.2.1jQueryappend()和prepend() 10.2.2jQueryafter()和before() 10.2.1jQueryappend()和prepend() jQueryappend()方法用于在所有符合條件的元素內(nèi)部結(jié)尾處追加內(nèi)容。append()方法的語法格式如下:其中content參數(shù)的類型可以是文本、數(shù)組、HTML代碼或元素標(biāo)簽。append(content[,content])10.2.1jQueryappend()和prepend() jQueryprepend()與append()方法的參數(shù)完全相同,只不過追加位置從指定元素內(nèi)部的結(jié)尾處變更為開頭處。prepend()方法的語法格式如下:prepend(content[,content])10.2.1jQueryappend()和prepend() 1. 追加文本使用append()或prepend()方法添加文本內(nèi)容允許帶有格式化標(biāo)簽。例如下面這段HTML代碼:<divid="test"><div>這是第一個子元素。</div><div>這是第二個子元素。</div></div>10.2.1jQueryappend()和prepend() 1. 追加文本對其使用jQueryappend()方法選定id="test"的<div>元素,并在其內(nèi)部追加文本內(nèi)容。相關(guān)jQuery代碼如下:$("div#test").append("這段文本帶有<i>格式化</i>標(biāo)簽。");10.2.1jQueryappend()和prepend() 1. 追加文本HTML代碼片段更新如下:<divid="test"><div>這是第一個子元素。</div><div>這是第二個子元素。</div>這段文本帶有<i>格式化</i>標(biāo)簽。</div>10.2.1jQueryappend()和prepend() 1. 追加文本上述jQuery代碼相當(dāng)于下面這段JavaScript代碼:由此可見,jQuery化簡了JavaScript關(guān)于文本內(nèi)容創(chuàng)建與添加的代碼。//創(chuàng)建一個新的文本節(jié)點(diǎn)vartext=document.createTextNode("這段文本帶有<i>格式化</i>標(biāo)簽。");//獲取id="test"的<div>元素vardiv=document.getElementById("test");//將新建的文本內(nèi)容添加到指定的div元素中去div.appendChild(p);10.2.1jQueryappend()和prepend() 1. 追加文本如果換成使用prepend()方法追加文本內(nèi)容,相關(guān)jQuery代碼如下:HTML代碼片段更新如下:<divid="test">這段文本帶有<i>格式化</i>標(biāo)簽。<div>這是第一個子元素。</div><div>這是第二個子元素。</div></div>$("div#test").prepend("這段文本帶有<i>格式化</i>標(biāo)簽。");10.2.1jQueryappend()和prepend() 2. 追加元素使用append()或prepend()方法添加新元素可以直接在參數(shù)位置填入相關(guān)HTML代碼。以append()為例,添加一個新的標(biāo)題元素<h1>的方法如下:append("<h1>這是一個標(biāo)題</h1>")10.2.1jQueryappend()和prepend() 2. 追加元素例如,使用append()方法在指定元素的內(nèi)容結(jié)尾處添加段落元素<p>。相關(guān)HTML代碼片段如下:<divid="test"><div>這是第一個子元素。</div><div>這是第二個子元素。</div></div>10.2.1jQueryappend()和prepend() 2. 追加元素使用jQueryappend()方法選定id="test"的<div>元素,并在其內(nèi)部追加子元素。相關(guān)jQuery代碼如下:HTML代碼片段更新如下:<divid="test"><div>這是第一個子元素。</div><div>這是第二個子元素。</div><p>這是新的子元素。</p></div>$("div#test").append("<p>這是新的子元素。</p>");10.2.1jQueryappend()和prepend() 2. 追加元素上述jQuery代碼相當(dāng)于下面這段JavaScript代碼:由此可見,jQuery大幅度化簡了JavaScript中關(guān)于元素創(chuàng)建與添加的代碼。//創(chuàng)建一個新的段落元素<p>varp=document.createElement("p");//為該段落元素添加文本內(nèi)容p.innerHTML="這是新的子元素。";//獲取id="test"的<div>元素vardiv=document.getElementById("test");//將新建的段落元素<p>添加到指定的div元素中去div.appendChild(p);10.2.1jQueryappend()和prepend() 2. 追加元素如果換成使用prepend()方法追加元素,相關(guān)jQuery代碼如下:HTML代碼片段更新如下:<divid="test"><p>這是新的子元素。</p><div>這是第一個子元素。</div><div>這是第二個子元素。</div></div>$("div#test").prepend("<p>這是新的子元素。</p>");10.2.1jQueryappend()和prepend() 2. 追加元素如果在append()或prepend()方法的參數(shù)位置使用選擇器可以將已存在的其他元素對象移動到指定元素中。例如以下這種情況:<h3>這是一個標(biāo)題</h3><divid="test"><p>這是一個段落</p></div>10.2.1jQueryappend()和prepend() 2. 追加元素對其使用$("div#test").append($("h3"))會將標(biāo)題元素<h3>整個移動到<div>元素中。運(yùn)行結(jié)果如下:<divid="test"><h3>這是一個標(biāo)題</h3><p>這是一個段落</p></div>10.2.1jQueryappend()和prepend() 3. 追加混合內(nèi)容如果有不同類型的內(nèi)容(比如文本和HTML元素)需要同時添加,可以在參數(shù)位置添加若干個變量,其間用逗號隔開即可。10.2.1jQueryappend()和prepend() 3. 追加混合內(nèi)容例如這段代碼將分別創(chuàng)建新的段落元素、標(biāo)題元素和一段文本內(nèi)容,并按照先后順序添加到id="test"的<div>元素內(nèi)部的結(jié)尾處。//使用HTML代碼創(chuàng)建段落元素varp="<p>段落元素</p>";//使用JavaScript代碼創(chuàng)建標(biāo)題元素varh1=document.createElement("h1");h1.innerHTML="標(biāo)題元素";//創(chuàng)建文本內(nèi)容vartext="純文本內(nèi)容";//依次追加到id="test"的<div>元素中$("div#test").append(p,[h1,text]);10.2.1jQueryappend()和prepend() 【例10-6】jQueryappend()和prepend()方法追加內(nèi)容10.2.2jQueryafter()和before()jQueryafter()方法分別用于在選定元素之后加入新的內(nèi)容。after()方法的語法格式如下:其中content參數(shù)的類型可以是文本、數(shù)組、HTML代碼或元素標(biāo)簽。after(content[,content])10.2.2jQueryafter()和before()jQuerybefore()與after()方法的參數(shù)完全相同,只不過追加位置從指定元素之后變更為元素之前。before()方法的語法格式如下:before(content[,content])10.2.2jQueryafter()和before()1. 追加文本使用after()或before()方法添加文本內(nèi)容允許帶有格式化標(biāo)簽。例如下面這段HTML代碼:<pid="test">這是測試用的段落元素</p>10.2.2jQueryafter()和before()1. 追加文本對其使用jQueryafter()方法在該元素后面追加文本內(nèi)容。相關(guān)jQuery代碼如下:HTML代碼片段更新如下:這段文本帶有<i>格式化</i>標(biāo)簽。$("p#test").append("這段文本帶有<i>格式化</i>標(biāo)簽。");<pid="test">這是測試用的段落元素</p>10.2.2jQueryafter()和before()1. 追加文本如果換成使用before()方法追加文本內(nèi)容,相關(guān)jQuery代碼如下:HTML代碼片段更新如下:$("div#test").before("這段文本帶有<i>格式化</i>標(biāo)簽。");這段文本帶有<i>格式化</i>標(biāo)簽。<pid="test">這是測試用的段落元素</p>10.2.2jQueryafter()和before()2. 追加元素使用after()或before()方法添加新元素可以直接在參數(shù)位置填入相關(guān)HTML代碼。以after()為例,添加一個新的段落元素<p>的方法如下:after("<p>這是一個段落元素。</p>")10.2.2jQueryafter()和before()2. 追加元素例如以下情況:分別使用after()和before()查看效果。<divid="test">這是一個測試元素。</div>10.2.2jQueryafter()和before()2. 追加元素使用jQueryafter()方法選定id="test"的<div>元素,并在其后面追加段落元素。相關(guān)jQuery代碼如下:HTML代碼片段更新如下:<divid="test">這是一個測試元素。</div><p>這是一個段落元素。</p>$("div#test").after("<p>這是一個段落元素。</p>");10.2.2jQueryafter()和before()2. 追加元素如果換成使用before()方法追加元素,相關(guān)jQuery代碼如下:HTML代碼片段更新如下:<p>這是一個段落元素。</p><divid="test">這是一個測試元素。</div>$("div#test").before("<p>這是一個段落元素。</p>");10.2.2jQueryafter()和before()2. 追加元素如果在after()或before()方法的參數(shù)位置使用選擇器可以將已存在的其他元素對象移動到指定位置。例如以下這種情況:<h3>這是一個標(biāo)題</h3><div><pid="test">這是一個段落</p></div>10.2.2jQueryafter()和before()2. 追加元素對其使用$("p#test").after($("h3"))會將標(biāo)題元素<h3>整個移動到<p>元素后面。運(yùn)行結(jié)果如下:<divid="test"><p>這是一個段落</p> <h3>這是一個標(biāo)題</h3></div>10.2.2jQueryafter()和before()3. 追加混合內(nèi)容如果有不同類型的內(nèi)容(比如文本和HTML元素)需要同時添加,可以在參數(shù)位置添加若干個變量,其間用逗號隔開即可。10.2.2jQueryafter()和before()3. 追加混合內(nèi)容例如這段代碼將分別創(chuàng)建新的段落元素、標(biāo)題元素和一段文本內(nèi)容,并按照先后順序添加到id="test"的<div>元素內(nèi)部的結(jié)尾處。//使用HTML代碼創(chuàng)建段落元素varp="<p>段落元素</p>";//使用JavaScript代碼創(chuàng)建標(biāo)題元素varh1=document.createElement("h1");h1.innerHTML="標(biāo)題元素";//創(chuàng)建文本內(nèi)容vartext="純文本內(nèi)容";//依次追加到id="test"的<div>元素中$("div#test").after(p,[h1,text]);10.2.2jQueryafter()和before()【例10-7】jQueryafter()和before()方法追加內(nèi)容10.3jQuery刪除10.3.1jQueryremove() 10.3.2jQueryempty() 10.3.3jQueryremoveAttr()10.3.1jQueryremove()jQueryremove()用于刪除指定元素及其子元素,其語法格式如下:其中selector可以是任意有效的jQuery選擇器。例如,刪除頁面上所有段落元素<p>的寫法如下:$(selector).remove();$("p").remove();10.3.1jQueryremove()jQueryremove()方法也可以在括號中填入一個參數(shù),用于篩選出特定的元素進(jìn)行刪除。該參數(shù)可以是任何jQuery選擇器的語法。例如,刪除所有class="style01"的段落元素<p>的寫法如下:$("p").remove(".style01");10.3.1jQueryremove()【例10-8】jQueryremove()方法的簡單應(yīng)用10.3.2jQueryempty()jQueryempty()用于清空元素,即從指定元素中刪除其子元素和文本內(nèi)容。其語法格式如下:該方法僅用于清空元素內(nèi)部的內(nèi)容,但保留元素本身的結(jié)構(gòu)。$(selector).empty();10.3.2jQueryempty()例如下面這種情況:使用$("h1").empty()方法清空標(biāo)題元素<h1>,運(yùn)行結(jié)果如下:由此可見,指定元素的首尾標(biāo)簽仍保留在頁面結(jié)構(gòu)中。<h1>這是標(biāo)題</h1><p>這是段落</p><h1></h1><p>這是段落</p>10.3.2jQueryempty()【例10-9】jQueryempty()方法的簡單應(yīng)用10.3.3jQueryremoveAttr()jQueryremoveAttr()用于刪除元素的指定屬性,其語法格式如下:$(selector).removeAttr(propertyName);10.3.3jQueryremoveAttr()例如下面這種情況:使用$("p").removeAttr("id")方法可以清除段落元素的id屬性,運(yùn)行結(jié)果如下:<p>這是段落</p><pid="test">這是段落</p>10.3.3jQueryremoveAttr()【例10-10】jQueryremoveAttr()方法的簡單應(yīng)用10.4jQuery類屬性jQuery中還有一系列操作CSS類的方法,這里主要介紹其中三種:addClass():為元素添加指定名稱的class屬性。removeClass():為元素刪除指定名稱的class屬性。toggleClass():為元素添加/刪除(切換)指定名稱的class屬性。10.4jQuery類屬性10.4.1jQueryaddClass() 10.4.2jQueryremoveClass() 10.4.3jQuerytoggleClass()10.4.1jQueryaddClass()當(dāng)需要為元素設(shè)置多項(xiàng)CSS樣式屬性時,除了使用css()方法逐行添加還可以使用addClass()方法直接為元素添加CSS樣式表中的類名稱。10.4.1jQueryaddClass()例如這段代碼為CSS樣式表內(nèi)容,表示聲明了一種類名稱為style01的樣式集合,包括字體顏色為紅色,背景顏色為黃色,字體大小為20像素,各邊內(nèi)外邊距為20像素。<style>.style01{color:red;background-color:yellow;font-size:20px;margin:20px;padding:20px;}</style>10.4.1jQueryaddClass()如果使用css()方法為指定元素添加這些屬性,需要寫大量的代碼。但若使用addClass()方法只需一行代碼,如下:如果有多個CSS類需要同時添加,可以都寫在addClass()方法的參數(shù)位置,之間用空格隔開即可。例如:上述代碼表示為段落元素添加class="style01style02"屬性。$("p").addClass("style01");$("p").addClass("style01style02");10.4.2jQueryremoveClass()如果需要為元素取消某個CSS樣式的類名稱,只要使用removeClass()方法即可。其語法格式如下:其中selector為任意有效的jQuery選擇器,className參數(shù)位置需要填入CSS樣式的類名稱。例如:上述代碼表示為段落元素<p>刪除class="style01"屬性。$(selector).removeClass(className)$("p").removeClass("style01");10.4.2jQueryremoveClass()【例10-11】jQuery添加和刪除CSS類10.4.3jQuerytoggleClass()如果需要為元素切換(輪流刪除/添加)某個CSS樣式的類名稱,只要使用toggleClass()方法即可。其語法格式如下:其中selector為任意有效的jQuery選擇器,className參數(shù)位置需要填入CSS樣式的類名稱。$(selector).toggleClass(className)10.4.3jQuerytoggleClass()例如:上述代碼表示為段落元素<p>刪除或添加class="style01"屬性。同樣可以一次性添加或刪除多個class屬性。例如:上述代碼表示為段落元素<p>刪除或添加class="style01style02"屬性。這里的CSS類名稱可以填入任意數(shù)量。$("p").toggleClass("style01");$("p").toggleClass("style01style02");10.4.3jQuerytoggleClass()【例10-12】jQuery添加/刪除CSS類的切換10.5jQuery尺寸jQuery還提供了一系列方法用于獲取和設(shè)置元素或?yàn)g覽器窗口的尺寸。如表所示。方法名稱解釋width()獲取或設(shè)置元素的寬度(不包括內(nèi)外邊距和邊框?qū)挾龋?。height()獲取或設(shè)置元素的高度(不包括內(nèi)外邊距和邊框?qū)挾龋nnerWidth()獲取或設(shè)置元素的寬度(包括內(nèi)邊距)。innerHeight()獲取或設(shè)置元素的高度(包括內(nèi)邊距)。outerWidth()獲取或設(shè)置元素的寬度(包括內(nèi)邊距和邊框?qū)挾龋?。outerHeight()獲取或設(shè)置元素的高度(包括內(nèi)邊距和邊框?qū)挾龋?0.5jQuery尺寸當(dāng)以上這些方法不帶任何參數(shù)值時,表示獲取元素的尺寸。例如:上述代碼表示獲取<div>元素的寬度(不包含內(nèi)外邊距和邊框?qū)挾龋?。varwidth=$("div").width();10.5jQuery尺寸當(dāng)width()或height()方法的參數(shù)值為數(shù)值時,可以用于設(shè)置元素的尺寸。例如:上述代碼表示將<div>元素的寬度(不包含內(nèi)外邊距和邊框?qū)挾龋┰O(shè)置為300像素。varwidth=$("div").width(300);10.5jQuery尺寸如果需要獲取帶有外邊距的尺寸,可以使用outerWidth()或outerHeight()方法加上參數(shù)值true來表示。例如:上述代碼表示獲取<div>元素的寬度(包含內(nèi)外邊距和邊框?qū)挾龋arwidth=$("div").outerWidth(true);10.5jQuery尺寸【例10-13】jQuery獲取元素尺寸10.6階段案例:仿公眾號留言板10.6.1案例需求10.6.2界面設(shè)計10.6.3邏輯實(shí)現(xiàn)10.6.4案例思考10.6.1案例需求背景介紹:留言板又被稱為留言簿或留言本,也是目前互聯(lián)網(wǎng)上使用最廣泛的一種用戶互相溝通交流的方式,例如日常的微博留言、微信公眾號留言、微信朋友圈評論留言等。很多主流媒體、地方政府網(wǎng)站也開設(shè)了留言或咨詢版塊傾聽人民心聲、解決實(shí)際問題,例如人民日報在其官網(wǎng)上開設(shè)了領(lǐng)導(dǎo)留言板(如上圖所示),是專門為中央部委和地方各級黨委政府主要負(fù)責(zé)同志搭建的網(wǎng)上群眾工作平臺,走好網(wǎng)上群眾路線,開展網(wǎng)上群眾工作。功能要求:使用jQuery制作一款仿公眾號風(fēng)格的簡易留言板。10.6.2界面設(shè)計1. 整體布局本案例主要分成寫留言和精選留言兩個區(qū)域,其中寫留言區(qū)域內(nèi)部包含標(biāo)題、多行文本框和按鈕,精選留言區(qū)域包含標(biāo)題、若干個留言列表豎著排列,每個列表項(xiàng)里面均包含用戶的頭像圖片、用戶昵稱和具體留言內(nèi)容。結(jié)構(gòu)如圖所示。10.6.2界面設(shè)計1. 整體布局創(chuàng)建一個HTML文件,文件名可自定義,例如MessageCenter.html。在HTML5中使用<divid="msgCenter">元素聲明留言板區(qū)域,在其中嵌套<divid="msgLeave">和<divid="msgList">分別表示寫留言區(qū)域和精選留言區(qū)域,相關(guān)代碼如下:1. <body>2. <!--標(biāo)題-->3. <h3>簡易留言板效果</h3>4. <!--水平線-->5. <hr/>6. <!--留言板區(qū)域-->7. <divid="msgCenter">8. <!--1寫留言區(qū)域-->9. <divid="msgLeave">10. <!--1-1標(biāo)題-->11. <h4>寫留言</h4>12. </div>13. <!--2精選留言區(qū)域-->14. <divid="msgList">15. <!--2-1標(biāo)題-->16. <h4>精選留言</h4>17. </div>18. </div>19. </body>10.6.2界面設(shè)計1. 整體布局本示例使用CSS外部樣式表規(guī)定頁面樣式。在本地css文件夾中創(chuàng)建message.css文件,并在HTML5文件的<head>首尾標(biāo)簽中聲明對CSS文件的引用。相關(guān)HTML5代碼片段如下:在CSS外部樣式表中設(shè)置公共樣式,相關(guān)CSS代碼如下:1. <head>2. <metacharset="utf-8">3. <title>簡易留言板效果</title>4. <linkrel="stylesheet"href="css/message.css">5. </head>1. /*公共樣式*/2. *{3. box-sizing:border-box;/*盒子尺寸包含了邊框和內(nèi)邊距*/4. }5. body{6. background-color:#f5f5f5;/*背景顏色灰白色*/7. text-align:center;/*文本居中*/8. }10.6.2界面設(shè)計1. 整體布局為留言板區(qū)域和通用標(biāo)題設(shè)置樣式,相關(guān)CSS代碼如下:1. /*留言板區(qū)域*/2. #msgCenter{3. width:600px;/*寬度600px*/4. background-color:white;/*背景顏色白色*/5. border-radius:20px;/*圓角邊框*/6. margin:0auto;/*外邊距上下0左右auto*/7. padding:20px;/*內(nèi)邊距20px*/8. 9. }10. /*留言板區(qū)域-h4標(biāo)題*/11. #msgCenterh4{12. text-align:left;/*文本左對齊*/13. }10.6.2界面設(shè)計2.寫留言區(qū)域使用多行文本框<textarea>和按鈕<button>完善寫留言區(qū)域,代碼片段如下:為多行文本框<textarea>和按鈕<button>分別添加了id屬性方便后續(xù)定位,其中多行文本框使用了rows屬性表示默認(rèn)至少顯示7行。1. <!--留言板區(qū)域-->2. <divid="msgCenter">3. <!--1寫留言區(qū)域-->4. <divid="msgLeave">5. <!--1-1標(biāo)題-->6. <h4>寫留言</h4>7. <!--1-2多行文本框-->8. <textareaid="txtArea"rows="7"></textarea>9. <!--1-3提交按鈕-->10. <buttonid="submitBtn">提交</button>11. </div>12. </div>10.6.2界面設(shè)計2.寫留言區(qū)域在CSS外部樣式表中為多行文本框設(shè)置樣式,相關(guān)CSS代碼如下:1. /*寫留言區(qū)域-多行文本框*/2. #msgLeave#txtArea{3. width:100%;/*寬度100%*/4. font-size:18px;/*字體大小18px*/5. margin:0auto;/*外邊距上下0左右auto*/6. }10.6.2界面設(shè)計3.精選留言區(qū)域使用無序列表<ul>配合列表項(xiàng)<li>完善精選留言區(qū)域中的留言列表,代碼片段如下:1. <!--留言板區(qū)域-->2. <divid="msgCenter">3. <!--1寫留言區(qū)域(…代碼略…)-->4. <!--2精選留言區(qū)域-->5. <divid="msgList">6. <!--2-1標(biāo)題-->7. <h4>精選留言</h4>8. <!--2-2留言列表-->9. <ul>10. <!--2-2-1單個列表項(xiàng)-->11. <li>12. <!--2-2-1(1)頭像-->13. <imgclass="avatarImg"src="image/avatar/1.png"alt="">14. <!--2-2-1(2)文字區(qū)域-->15. <divclass="infoBox"></div>16. </li>17. </ul>18. </div>19. </div>這里可以先制作一個<li>元素查看效果,開發(fā)者后續(xù)可以自行追加多個列表留言。在<li>元素內(nèi)部使用了<imgclass="avatarImg"和<divclass="infoBox">分別表示頭像和留言信息區(qū)域,其中頭像圖片來源為image/avatar目錄下的1.png。(注:因?yàn)榱斜碓仉S著留言增加會有多個,所以這里不要用id屬性來區(qū)分頭像和留言信息區(qū)。)10.6.2界面設(shè)計3.精選留言區(qū)域在CSS外部樣式表中為列表以及內(nèi)部元素設(shè)置樣式,相關(guān)CSS代碼如下:1. /*精選留言區(qū)域-列表*/2. #msgListul{3. list-style:none;/*清除列表裝飾點(diǎn)*/4. width:100%;/*寬度100%*/5. height:auto;/*高度根據(jù)內(nèi)容自適應(yīng)*/6. display:block;/*塊級元素*/7. margin:0;/*清除外邊距*/8. padding:0;/*清除內(nèi)邊距*/9. text-align:left;/*文本左對齊*/10. }11. /*精選留言區(qū)域-列表項(xiàng)*/12. #msgListulli{13. width:100%;/*寬度100%*/14. height:auto;/*高度根據(jù)內(nèi)容自適應(yīng)*/15. margin:30px0;/*外邊距上下30px左右0*/16. position:relative;/*相對位置參照物*/17. }18. /*精選留言區(qū)域-頭像*/19. #msgList.avatarImg{20. width:60px;/*寬度60px*/21. height:60px;/*高度60px*/22. position:absolute;/*絕對定位*/23. top:10px;/*距離頂部10px*/24. left:0;/*距離左邊0px*/25. }26. /*精選留言區(qū)域-文字區(qū)域*/27. #msgList.infoBox{28. margin-left:80px;/*外邊距左側(cè)80px*/29. }10.6.2界面設(shè)計3.精選留言區(qū)域細(xì)化一下留言文字區(qū)域內(nèi)部的內(nèi)容,分成用戶昵稱和留言文字,代碼如下:這里的昵稱和留言內(nèi)容可以由開發(fā)者自定義。1. <!--2-2-1單個列表項(xiàng)-->2. <li>3. <!--2-2-1(1)頭像(…代碼略…)-->4. <!--2-2-1(2)文字區(qū)域-->5. <divclass="infoBox">6. <!--2-2-1(2)文字區(qū)域-昵稱-->7. <divclass="nickName">萌小兔</div>8. <!--2-2-1(2)文字區(qū)域-留言內(nèi)容-->9. <divclass="msgBox">新年快樂,萬事順意!</div>10. </div>11. </li>10.6.2界面設(shè)計3.精選留言區(qū)域?yàn)槲淖謪^(qū)域內(nèi)部的昵稱和留言內(nèi)容設(shè)置樣式,相關(guān)CSS代碼如下:此時CSS樣式設(shè)置就全部完成了,運(yùn)行效果如圖所示。1. /*精選留言區(qū)域-文字區(qū)域-昵稱*/2. #msgList.infoBox.nickName{3. width:100%;/*寬度100%*/4. height:50px;/*高度50px*/5. line-height:50px;/*行高60px*/6. }7. /*精選留言區(qū)域-文字區(qū)域-留言消息*/8. #msgList.infoBox.msgBox{9. font-size:20px;/*字體大小20px*/10. }10.6.3邏輯實(shí)現(xiàn)留言提交動作需要使用到j(luò)Query的相關(guān)功能,因此首先在<head>標(biāo)簽中添加對于jQuery的調(diào)用。在js文件夾中創(chuàng)建message.js文件,并在MessageCenter.html文件的<head>首尾標(biāo)簽中聲明對JS文件的引用。相關(guān)HTML5代碼修改后如下:在message.js文件中先聲明用戶昵稱和頭像來源,相關(guān)代碼如下:1. <head>2. <metacharset="utf-8">3. <title>簡易留言板效果</title>4. <linkrel="stylesheet"href="css/message.css">5. <scriptsrc="js/jquery-1.12.3.min.js"></script>6. <scriptsrc="js/message.js"></script>7. </head>1. //初始化參數(shù)2. varnick_name="用戶001";//當(dāng)前用戶名稱可更改3. varavatar_url="image/avatar/2.png";//當(dāng)前用戶頭像10.6.3邏輯實(shí)現(xiàn)在message.js文件中封裝一個自定義函數(shù)appendMsg(msg),將留言文本以參數(shù)msg傳遞給函數(shù)使用,在精選留言區(qū)域的留言列表中新增列表項(xiàng),相關(guān)代碼如下:1. //追加留言2. functionappendMsg(msg){3. //在留言列表末尾追加列表項(xiàng)4. $("#msgList
ul").append("<li></li>");5. //獲取該列表項(xiàng)6. varli=$("#msgList
ul>li:last-child");7. 8. //生成頭像9. varavatarImg='<imgclass="avatarImg"src="'+avatar_url+'"alt="">';10. //添加頭像11. li.append(avatarImg);12. 13. //添加留言文字區(qū)域14. li.append('<divclass="infoBox"></div>');15. //生成昵稱16. varnickName='<divclass="nickName">'+nick_name+'</div>';17. //生成留言內(nèi)容18. varmsgBox='<divclass="msgBox">'+msg+'</div>';19. //在留言文字區(qū)域內(nèi)依次添加昵稱和留言內(nèi)容20. $("#msgList
ul>li:last-child.infoBox").append(nickName,msgBox);21. }10.6.3邏輯實(shí)現(xiàn)在message.js的文檔準(zhǔn)備就緒函數(shù)中監(jiān)聽寫留言區(qū)域按鈕點(diǎn)擊事件,相關(guān)代碼如下:1. //文檔準(zhǔn)備就緒2. $(document).ready(function(){3. //提交按鈕點(diǎn)擊事件4. $("#submitBtn").click(function(){5. //獲取留言文字內(nèi)容6. varmsg=$("#txtArea").val();7. 8. //檢查是否有內(nèi)容9. if(msg==""){10. alert("尚未填寫任何內(nèi)容。");11. }else{12. //處理換行符號13. msg=msg.replace(/\n/g,"<br>");14. //追加留言15. appendMsg(msg);16. //清空留言文字內(nèi)容17. $("#txtArea").val("");18. }19. });20. });由于多行文本框中獲取到的留言內(nèi)容是不帶換行符號<br>的,因此使用replace()方法把全文中的”\n”都替換為換行符號<br>,這樣最后就可以實(shí)現(xiàn)換行的顯示效果了。10.6.3邏輯實(shí)現(xiàn)此時本項(xiàng)目就已經(jīng)全部完成了,運(yùn)行效果如圖所示。10.6.4案例思考【拓展練習(xí)】是否可以在精選留言列表中為自己提交的留言顯示“刪除”按鈕,點(diǎn)擊后可刪除此條留言數(shù)據(jù)?【進(jìn)階改造】是否可以在精選留言列表中為每條留言新增“回復(fù)”按鈕,將同一條留言的回復(fù)以二級列表的形式展示出來?本章小結(jié)本章小結(jié)本章主要內(nèi)容是jQuery對于文檔對象模型DOM的使用方法。首先介紹了jQuery獲取或重置元素的文本、HTML、表單值、元素屬性值以及CSS屬性值的方法;其次介紹了jQuery快速在頁面上添加新元素或內(nèi)容的用法;然后介紹了jQuery刪除元素、清空內(nèi)容或元素屬性的方法;之后講解了如何為元素添加、刪除或切換類屬性;最后介紹了獲取/設(shè)置元素或?yàn)g覽器窗口尺寸的一系列函數(shù)。本章階段案例介紹了仿公眾號留言板效果,使用jQueryDOM獲取表單元素取值以及對列表項(xiàng)元素進(jìn)行動態(tài)添加,最終實(shí)現(xiàn)了留言提交和展示功能。Thankyou!JavaScript與jQuery
網(wǎng)頁前端開發(fā)與設(shè)計-第2版學(xué)校名稱:XXXX主講教師:XXXX第11章jQuery遍歷本章學(xué)習(xí)目標(biāo)了解什么是HTML家族樹結(jié)構(gòu);掌握jQuery后代遍歷相關(guān)函數(shù)children()、find()的使用;掌握jQuery同胞遍歷相關(guān)函數(shù)siblings()、next()系列函數(shù)、prev()系列函數(shù)的使用;掌握jQuery祖先遍歷相關(guān)函數(shù)parent()、parents()、parentsUntil()的使用。目錄11.1HTML家族樹簡介 11.2jQuery后代遍歷 11.3jQuery同胞遍歷
11.4jQuery祖先遍歷11.5階段案例:仿電商購物車效果
11.1HTML家族樹簡介同一個HTML頁面上的所有元素按照層次關(guān)系可以形成樹狀結(jié)構(gòu),這種結(jié)構(gòu)稱為家族樹(FamilyTree)。最常見的遍歷方式統(tǒng)稱為樹狀遍歷(TreeTraversal)。11.1HTML家族樹簡介根據(jù)移動的層次方向可以分為向下移動(后代遍歷)、水平移動(同胞遍歷)和向上移動(祖先遍歷)。其中后代遍歷指的是元素的子、孫、曾孫元素等;同胞遍歷指的是具有同一個父元素的其他元素;祖先遍歷指的是元素的父、祖父、曾祖父元素等。11.1HTML家族樹簡介例如以下這段HTML代碼:<div><ul> <li>item01</li> <li>item02</li> </ul> <p>
這是一個<span>段落元素</span> </p></div>11.1HTML家族樹簡介元素關(guān)系解釋如下:<div>元素:是無序列表元素<ul>和段落元素<p>的父元素,同時也是其他所有元素的祖先元素。<ul>元素:是兩個列表選項(xiàng)元素<li>的父元素,也是<div>的子元素。與段落元素<p>互為同胞元素。<p>元素:是<span>元素的父元素,也是<div>的子元素。與無序列表元素<ul>互為同胞元素。<li>元素:是<ul>元素的子元素,同時也是<div>元素的后代。兩個<li>元素互為同胞元素。<span>元素:是<p>元素的子元素,同時也是<div>元素的后代。該元素沒有同胞元素。11.2jQuery后代遍歷jQuery后代遍歷指的是以指定元素為出發(fā)點(diǎn),遍歷該元素內(nèi)部包含的子、孫、曾孫等后代元素,直到全部查找完畢。常用的方法有:children():查找元素的直接子元素。find():查找元素的全部后代,直到查找到最后一層元素。11.2jQuery后代遍歷11.2.1jQuerychildren() 11.2.2jQueryfind()11.2.1jQuerychildren()jQuerychildren()方法只能查找指定元素的第一層子元素,其語法結(jié)構(gòu)如下:其中selector參數(shù)為可選內(nèi)容,可以是任意jQuery選擇器,用于進(jìn)一步篩選需要匹配的子元素。.children([selector])11.2.1jQuerychildren()如果不填寫任何參數(shù),則表示查找所有的子元素。例如:上述代碼表示查找HTML頁面上所有段落元素<p>的子元素。$("p").children()11.2.1jQuerychildren()如果加上參數(shù),可以進(jìn)一步匹配子元素。例如:上述代碼表示在HTML頁面上所有段落元素<p>中查找class="style01"的子元素。$("p").children(".style01")11.2.1jQuerychildren()【例11-1】jQuery后代遍歷children()方法的應(yīng)用11.2.2jQueryfind()jQueryfind()方法可用于查找指定元素的所有后代元素,其語法結(jié)構(gòu)如下:其中selector參數(shù)可以是任意jQuery選擇器,用于進(jìn)一步篩選需要匹配的子元素。.find(selector)11.2.2jQueryfind()例如:上述代碼表示在段落元素<p>中找到所有的<span>元素,并為其設(shè)置1像素寬的紅色實(shí)線邊框。$("p").find("span").css("border","1pxsolidred");11.2.2jQueryfind()selector參數(shù)位置也可以填入元素對象。例如上述代碼可以改寫為以下內(nèi)容:修改后的代碼運(yùn)行效果完全相同。varspans=$("span");$("p").find(spans).css("border","1pxsolidred");11.2.2jQueryfind()【例11-2】jQuery后代遍歷find()方法的應(yīng)用11.3jQuery同胞遍歷jQuery同胞遍歷指的是以指定元素為出發(fā)點(diǎn),遍歷與該元素具有相同父元素的同胞元素,直到全部查找完畢。11.3jQuery同胞遍歷常用的方法有:siblings():查找指定元素的所有同胞元素。next():查找指定元素的下一個同胞元素。nextAll():查找指定元素后面的所有同胞元素。nextUntil():查找指定元素后面指定范圍內(nèi)的所有同胞元素。prev():查找指定元素的前一個同胞元素。prevAll():查找指定元素前面的所有同胞元素。prevUntil():查找指定元素前面指定范圍內(nèi)的所有同胞元素。11.3jQuery同胞遍歷11.3.1jQuerysiblings() 11.3.2jQuerynext()、nextAll()和nextUtil() 11.3.3jQueryprev()、prevAll()和prevUtil() 11.3.1jQuerysiblings()jQuerysiblings()方法可以查找指定元素的其他所有同胞元素,其語法結(jié)構(gòu)如下:其中selector參數(shù)為可選內(nèi)容,可以是任意jQuery選擇器,用于進(jìn)一步篩選需要匹配的同胞元素。.siblings([selector])11.3.1jQuerysiblings()如果不填寫任何參數(shù),則表示查找所有的子元素。例如:上述代碼表示查找段落元素<p>的所有同胞元素。$("p").siblings()11.3.1jQuerysiblings()如果加上參數(shù),可以進(jìn)一步匹配子元素。例如:上述代碼表示查找所有與段落元素<p>具有相同的父元素,并且class="style01"的元素。$("p").siblings(".style01")11.3.1jQuerysiblings()【例11-3】jQuery同胞遍歷siblings()方法的應(yīng)用11.3.2jQuerynext()、nextAll()和nextUtil()1. jQuerynext()jQuerynext()方法可以查找指定元素的下一個同胞元素,其語法結(jié)構(gòu)如下:其中selector參數(shù)為可選內(nèi)容,可以是任意jQuery選擇器,用于進(jìn)一步篩選需要匹配的同胞元素。.next([selector])11.3.2jQuerynext()、nextAll()和nextUtil()1. jQuerynext()如果不填寫任何參數(shù),則表示查找指定元素的下一個同胞元素。例如:上述代碼表示查找段落元素<p>的下一個同胞元素。$("p").next()11.3.2jQuerynext()、nextAll()和nextUtil()1. jQuerynext()如果加上參數(shù),可以進(jìn)一步匹配同胞元素。例如:上述代碼表示查找段落元素<p>的下一個同胞元素,并且該元素必須帶有class="style01"屬性,否則認(rèn)為沒有找到匹配元素。$("p").next(".style01")11.3.2jQuerynext()、nextAll()和nextUtil()2. jQuerynextAll()jQuerynextAll()方法可以查找指定元素后面的全部同胞元素,其語法結(jié)構(gòu)如下:其中selector參數(shù)為可選內(nèi)容,可以是任意jQuery選擇器,用于進(jìn)一步篩選需要匹配的同胞元素。.nextAll([selector])11.3.2jQuerynext()、nextAll()和nextUtil()2. jQuerynextAll()如果不填寫任何參數(shù),則表示查找指定元素后面的所有同胞元素。例如:上述代碼表示查找段落元素<p>后面所有的同胞元素。$("p").nextAll()11.3.2jQuerynext()、nextAll()和nextUtil()2. jQuerynextAll()如果加上參數(shù),可以進(jìn)一步匹配子元素。例如:上述代碼表示查找class="style01"并在位置處于段落元素<p>后面的所有同胞元素。$("p").nextAll(".style01")11.3.2jQuerynext()、nextAll()和nextUtil()3. jQuerynextUntil()jQuerynextUntil()方法可以查找從指定元素開始,往后水平遍歷直到指定元素結(jié)束的所有同胞元素,不包括作為結(jié)束標(biāo)識的元素本身。其語法結(jié)構(gòu)如下:其中selector和filter參數(shù)均為可選內(nèi)容,可填入有效的jQuery選擇器。參數(shù)selector表示水平遍歷同胞元素時的結(jié)束位置,參數(shù)filter表示進(jìn)一步篩選指定范圍內(nèi)的同胞元素。.nextUntil([selector][,filter])11.3.2jQuerynext()、nextAll()和nextUtil()3. jQuerynextUntil()例如以下這種情況:<div><pid="test1">第一個子元素</p><pid="test2">第二個子元素</p><pid="test3">第三個子元素</p><span>第四個子元素</span></div>11.3.2jQuerynext()、nextAll()和nextUtil()3. jQuerynextUntil()使用nextUntil()方法如下:上述語句表示從id="test1"的段落元素<p>后面開始查找其同胞元素,直到<span>元素為止,不包括結(jié)尾的<span>元素本身。查找結(jié)果為:$("p#test1").nextUntil("span")<pid="test2">第二個子元素</p><pid="test3">第三個子元素</p>11.3.2jQuerynext()、nextAll()和nextUtil()3. jQuerynextUntil()如果加上filter參數(shù),可以進(jìn)一步篩選指定范圍內(nèi)的同胞元素。例如:上述語句則表示在上述結(jié)果中進(jìn)一步篩選id="test3"的元素。查找結(jié)果為:$("p#test1").nextUntil("span","#test3")<pid="test3">第三個子元素</p>11.3.2jQuerynext()、nextAll()和nextUtil()【例11-4】jQuery同胞遍歷next()、nextAll()、nextUntil()方法的應(yīng)用11.3.3jQueryprev()、prevAll()和prevUtil()1. jQueryprev()jQueryprev()方法可以查找指定元素的前一個同胞元素,其語法結(jié)構(gòu)如下:其中selector參數(shù)為可選內(nèi)容,可以是任意jQuery選擇器,用于進(jìn)一步篩選需要匹配的同胞元素。.prev([selector])11.3.3jQu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年數(shù)字水位儀項(xiàng)目申請報告
- 2025年國土資源普查核儀器項(xiàng)目申請報告模范
- 2024-2025學(xué)年西藏那曲市巴青縣三上數(shù)學(xué)期末統(tǒng)考試題含解析
- 軍訓(xùn)心得體會匯編15篇
- 2025年水上加油船項(xiàng)目規(guī)劃申請報告模板
- 2025年放射性廢氣處置設(shè)備項(xiàng)目申請報告
- 2022裝修監(jiān)理年終工作總結(jié)
- 去超市實(shí)習(xí)報告范文8篇
- 住房申請書模板10篇
- 演講競聘演講稿范文6篇
- 博士能數(shù)碼望遠(yuǎn)鏡118326使用說明書
- 2021年12月英語六級聽力試題、原文及答案 兩套
- cad自定義線型、形定義線型、cad斜坡線學(xué)習(xí)
- 任上線立塔架線施工專項(xiàng)方案
- 139.華師《管理溝通》期末考試復(fù)習(xí)資料精簡版
- 小學(xué)英語不規(guī)則動詞表
- VIC模型PPT課件
- AQL2.5抽檢標(biāo)準(zhǔn)
- JJF 1629-2017 烙鐵溫度計校準(zhǔn)規(guī)范(高清版)
- 理想系列一體化速印機(jī)故障代碼
- 檢驗(yàn)科各專業(yè)組上崗輪崗培訓(xùn)考核制度全6頁
評論
0/150
提交評論