課程
/前端開發(fā)
/jQuery
/jQuery基礎(chǔ)(二)—DOM篇
var p = $("p:first").remove(); 定了個變量表示什么啊
2016-11-13
源自:jQuery基礎(chǔ)(二)—DOM篇 4-5
正在回答
$("p:first"),選取第一個p元素,然后刪除它的子元素和自身,最后,把這個賦值給變量p,實(shí)際上,remove會把所有的數(shù)據(jù)全部刪除,所以這里的變量p是無意義的,但是改用detach,則是儲存被刪除的變量,因?yàn)閐etach還是會在內(nèi)存中的
var p=$("p:first").detach()
qq_隨便先生論芝麻的重要性_03960610 提問者
UltraNeo
remove()?方法不會把匹配的元素從 jQuery 對象中刪除,因而可以在將來再使用這些匹配的元素。所以p變量保存的是remove()匹配的p元素以及其內(nèi)部所有的節(jié)點(diǎn)。
$("button:first").click(function() {
? ? ? ? var p = $("p:first").remove();
? ? ? ? // p.css('color','red').text('p1通過remove處理后,點(diǎn)擊該元素,事件丟失');
? ? ? ??
? ? ? ? //append之后,元素還在,但是事件沒了 ?
? ? ? ? $("body").append(p);
? ? });
把第二行注釋掉,你發(fā)現(xiàn)p刪除后又回來了,只不過綁定的事件沒了,說明var ?p這個變量確實(shí)存儲了p標(biāo)簽的信息,也就是說remove()這個函數(shù)是有返回值的,但是返回值和detach()函數(shù)不一樣,沒有后者的完整。另外,我覺得可以把var p換個名字,免得和標(biāo)簽p搞混了,這個變量是可以單獨(dú)起名字的。
慕勒6241362
UltraNeo 回復(fù) 慕勒6241362
亂也 回復(fù) 慕勒6241362
明明的明天12 回復(fù) 亂也
就是這個意思,實(shí)際上,因?yàn)槭褂昧藃emove(),p之前的內(nèi)容和事件被完全刪除了,然后,就會顯示的是text后面的文本,紅色的字體“p1通過remove處理后,點(diǎn)擊該元素,事件丟失”
remove會將元素自身移除,同時也會移除元素內(nèi)部的一切,包括綁定的事件及與該元素相關(guān)的jQuery數(shù)據(jù).
所以我認(rèn)為這段代碼只是為了表述方便
舉報(bào)
jQuery第二階段開啟DOM修煉,了解創(chuàng)建、插入、刪除與替換
3 回答var p = $("p:first").remove();,這一句代碼中的p是不是其實(shí)什么東西都沒有?
2 回答為什么 var p =$('p:first').detach(); 不能直接換成$('p:first').detach();
3 回答remove和 detach append(p)之后p都會顯示
2 回答$("p").remove(":contains('3')")這是什么意思啊。
2 回答var p
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-11-13
$("p:first"),選取第一個p元素,然后刪除它的子元素和自身,最后,把這個賦值給變量p,實(shí)際上,remove會把所有的數(shù)據(jù)全部刪除,所以這里的變量p是無意義的,但是改用detach,則是儲存被刪除的變量,因?yàn)閐etach還是會在內(nèi)存中的
var p=$("p:first").detach()
2017-01-10
remove()?方法不會把匹配的元素從 jQuery 對象中刪除,因而可以在將來再使用這些匹配的元素。所以p變量保存的是remove()匹配的p元素以及其內(nèi)部所有的節(jié)點(diǎn)。
2016-12-04
$("button:first").click(function() {
? ? ? ? var p = $("p:first").remove();
? ? ? ? // p.css('color','red').text('p1通過remove處理后,點(diǎn)擊該元素,事件丟失');
? ? ? ??
? ? ? ? //append之后,元素還在,但是事件沒了 ?
? ? ? ? $("body").append(p);
? ? });
把第二行注釋掉,你發(fā)現(xiàn)p刪除后又回來了,只不過綁定的事件沒了,說明var ?p這個變量確實(shí)存儲了p標(biāo)簽的信息,也就是說remove()這個函數(shù)是有返回值的,但是返回值和detach()函數(shù)不一樣,沒有后者的完整。另外,我覺得可以把var p換個名字,免得和標(biāo)簽p搞混了,這個變量是可以單獨(dú)起名字的。
2016-11-14
就是這個意思,實(shí)際上,因?yàn)槭褂昧藃emove(),p之前的內(nèi)容和事件被完全刪除了,然后,就會顯示的是text后面的文本,紅色的字體“p1通過remove處理后,點(diǎn)擊該元素,事件丟失”
2016-11-13
remove會將元素自身移除,同時也會移除元素內(nèi)部的一切,包括綁定的事件及與該元素相關(guān)的jQuery數(shù)據(jù).
所以我認(rèn)為這段代碼只是為了表述方便