jquery是一個很大強的東西,在工作中常能用到,可是有些方法還是因為不常用到,或是沒有註意到而被我們而忽略。
remove()和detach()可能就是其中的一個,可能remove()我們用得比較多,而detach()就可能會很少了。可能我用的不夠精吧,我一次也沒用過。可是這次因為一個專案中一個問題,而用到它,感覺很有意思就記錄下來,與大家分享。
remove():官方的解釋是
從DOM中刪除所有符合的元素。這個方法不會把符合的元素從jQuery物件中刪除,因而可以在將來再使用這些符合的元素。但除了這個元素本身得以保留之外,其他的例如綁定的事件,附加的資料等都會被移除。
我的理解就是將元素移除了。但是怎麼再找回來,說真的,我一直也沒找到,哪個朋友用過。可以告訴我,十分感謝,
用法:
從DOM中把所有段落刪除
<p>Hello</p> how are <p>you?</p>
$("p").remove();
how are
這個方法,不多說了,我們主要說一下detach()這個方法,
官方描述:
從DOM中刪除所有符合的元素。這個方法不會把符合的元素從jQuery物件中刪除,因而可以在將來再使用這些符合的元素。與remove()不同的是,所有綁定的事件、附加的資料等都會保留下來。
從DOM中刪除所有段落
<p>Hello</p> how are <p>you?</p>
$("p").detach();
HTML 程式碼:
how are
<p class="hello">Hello</p> how are <p>you?</p>
$("p").detach(".hello");
我這裡有一個表單,其中有一項是 註冊碼,就是每個資訊都會有一個獨立的註冊碼,沒有註冊碼是不能註冊成功的。我用的是jquery的
控制項formValidator來驗證的,這個控制項大家都用過,他是在頁面載入的時候,就開始驗證了,而且對於css中的display和jquery裡的hide()方法,它是無視的。本來呢。這是沒有問題,但用戶卻提出了一個新的需求,就是加一個選項,用來判斷是否顯示這個註冊碼,如果不顯示,那麼就不要對註冊碼文本框進行驗證,無恥的需求。 在試用了css的display和jquery的hide()之後,我把目光放到了remove()。它到是不驗證了,可是我選擇要驗證的時候,被移除的內容加不回來了,所以我開始找能回來了的。這時候,發現了
detach()。它的有什麼好處呢。我下面放一程式碼出來<pre class="brush:php;toolbar:false"> how are <p>you?</p></pre>
#
以上是jquery中remove()與detach()的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!