parent()其實很簡單, 就是指定選擇器中每個元素的外邊的一層。例如$("p"),那麼就是結果就是包裹著
的資料 如: 。如果有多個則結果集為物件集。可以用eq(i),first(),last()定位。若資料為
-
怎麼使用$("p").parent("li")查詢的結果為空,因為
的外層為< ;p>。
JQuery手冊中
<p></p><p>Hello</p><p></p><p>Hello Again</p>
<pre class="brush:php;toolbar:false">$("p").parent(".selected");
//结果:
[ <p></p><p>Hello Again</p> ]
可以理解為
$("p").parent().find(".selected");
找直接父親中類為selected的那一個或幾個。
所以parent()的實用性不強。
parents()就是選擇器中每個元素的所有的父親,如果選擇器有多個父親則回傳的是個結果集。結果集的結果是由內層向外層排列的。最外層就是整個html元素了,第一個就是緊貼選擇器中每個元素的元素。結果集中並沒有重複的元素。
同理當帶參數時,也是在結果集中find製定的元素
$("p").parents(".selected");
$("p").parents().find(".selected");
因此我們想找到選擇器的某個父親,就要先找到他的所有父親,然後在find這個父親。
當我們想找出目前元素的某個父親的時候,下面的文法就要用到了。
$(this).parents("li");//$(this).parents().find("li");
所以parents()的實用性很強。非常常用。
parentsUntil(expr)。如果說parents()是在整個html元素中找選擇器中每個元素的所有父親,那麼parentsUntil()的作用就是限制了查找的範圍。這個範圍就是 $(expr).html()
$("p").parents();//包含整个html 元素$("p").parentsUntil("html");//不包含整个html元素
以上兩個表達式的結果集只相差一個元素,就是整個html元素。
$("p").parents();//包含整个html 元素$("p").parentsUntil();//包含整个html元素
當parentsUntil()不帶參數時,他等同於parents();
parentsUntil(expr)的結果集中的結果同樣是由內層向外層排列的。 parentUntil(expr),會從第一個包裹著元素父元素開始向外逐層查找,直到遇到第一個與表達式(expr)相符的元素為止。
$("p").parentsUntil(expr);
相當於在$(expr)中由內之外的尋找$("p")中每個元素的所有父元素
為了更精準的尋找到指定的元素,可以如下的使用。
$("p").parentsUntil("ul").find("li");
但以上做法不能找到ul>li,只能找到ul * li。因為paentsUntil()傳回結果集中最大的父親是ul>*而find是在ul>*的後代元素尋找不包含ul>*的元素。所以如果用該方法查找ul>li是不可行的
可以使用以下程式碼查詢全部ul下的li(第一行),最近的ul下的所有li(第二行)
$("p").parents("ul").find("li");$("p").parents("ul").eq(0).find("li");
parentsUntil(expr),傳回的結果集不包括expr本身,而後面如果使用find()又會在結果集後代元素中查詢,所以查詢得到的結果不是expr的子元素而是二代和二代以後的子元素。
鑑於parentsUntil的表現,一般不建議使用。
parnetsUntil()可用來找出某個模組下的某些元素。
當我們要具體對結果集中某個元素進行操作是,要記得使用eq(i),first(),last()等函數取值,不然操作的是整個結果集。
動態尋找父節點
$(this).parent("li");//找到第一个包住$(this)的dom,如这个dom是li则返回他的对象,如果不是则返回空对象$(this).parents("li");//找到所有$(this)的父亲,并在其中找出所有的li的对象,组成结果集。结果集中结果由内之外排列$(this).parents().find("li");//同上。$(this).parents("li").eq(0);//$(this)外第一个包裹他的li对象$(this).parentsUntil("li");//$(this)外到第一个包裹他的li之内的所有的$(this)的父亲$(this).parentsUntil("ul").find("li");//$(this)在ul之前的那个父亲之内(不包括该父亲)找所有的li;如果
以上是JQuery中parent(),parents(),parentsUntil()區別聯繫以及使用方法教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。