2013-06-04 98 views
0

我試圖清除元素及其子元素的所有類和ID。 但我目前的代碼僅清除父類的類和ID。jQuery - 清除包括子元素在內的所有類和ID元素

請告訴我如何清除元素及其子元素的所有類和標識符。

這裏是我的代碼:

jQuery('#menu-main-menu').clone() 
.removeAttr('id').removeAttr('class').prependTo('body'); 

回答

2

這將處理克隆樹的所有從屬對象:

jQuery('#menu-main-menu').clone().find("*") 
    .removeAttr('id').removeAttr('class').end().prependTo('body'); 

如果您也想刪除新的父的屬性,你可以做這個:

var clone = jQuery('#menu-main-menu').clone(); 
clone.add(clone.find("*")).removeAttr('id').removeAttr('class'); 
clone.prependTo('body'); 

需要理解的一點是,.add()創建一個新的jQuery對象所以clone jQuery對象不受.add()的影響。

+0

** + 1 **爲'.END()'。此外,你錯過了父母本身';)'。 – 2013-06-04 04:26:59

+0

@NOX-已經在開發一個選項來包含現在也在我的答案中的父項。 – jfriend00

+0

+1我誤讀了這個問題..猜猜睡覺的時間.. – PSL

1

必須從兒童太刪除idclass

var $elem = jQuery('#menu-main-menu').clone(); 
$elem.removeAttr('id').removeAttr('class'); 
$elem.find('*').removeAttr('id').removeAttr('class'); 
$elem.prependTo('body'); 
0

嘗試:

jQuery('#menu-main-menu').clone().children(). 
.removeAttr('id').removeAttr('class').prependTo('body'); 
+0

'.children()'只能向下一級。它沒有得到整個層次結構。您也不會從克隆層次結構頂部的父級中刪除類和標識。 – jfriend00

相關問題