2014-02-22 31 views
0

我有一個名爲_categoryItemDivTemplate的JavaScript字符串,它定義了HTML標記,包括<div>class="MakeTopLevelCategory"從字符串模板中刪除元素

我想我可以刪除<div>用下面的代碼:

item = $(_categoryItemDivTemplate); 
if (!isTopLevel) 
    item.remove('div.MakeTopLevelCategory'); 

但它沒有任何效果。

我錯過了什麼嗎?是否有必要先將項目添加到DOM?

編輯:

下面是從代碼模板:

var _categoryItemDivTemplate = 
    '<div class="CategoryItem" style="clear:both;">' 
    + '<div class="CategoryHeader">' 
    + '<img src="/images/plus.gif" class="Icon"/>' 
    + '<img src="/images/icn_folder.gif" class="Icon"/>' 
    + '<span class="Title">&nbsp;</span>' 
    + '<div style="float:right; font-size: 11px;" class="CategorySelector">' 
     + '<div class="DeleteCategory" title="Delete this Category">&nbsp;</div>' 
     + '<div class="EditCategory" title="Rename this Category">&nbsp;</div>' 
     + '<div class="MakeTopLevelCategory" title="Make this Category a Top-level Category">&nbsp</div>' 
     + '<div class="MoveSubcategory" title="Move this Category">&nbsp;</div>' 
     + '<div class="SubcategoryMarker AddSubcategory" title="Add a new Subcategory to this Category">&nbsp;</div>' 
     + '<div class="PackageCostingMarker AddPackage" title="Add a new Package to this Category">&nbsp;</div>' 
     + '<div class="ProductCostingMarker AddProduct" title="Add a new Product to this Category">&nbsp;</div>' 
     + '<div class="NarrativeMarker AddArticle" title="Add a new Article to this Category">&nbsp;</div>' 
    + '</div>' 
    + '</div>' 
    + '<div class="CategoryItems" style="display: none;">' 
    + '</div>' 
    + '</div>'; 
+0

對於想用代碼測試'_categoryItemDivTemplate ='

'' –

回答

1

從對象中刪除它沒有從字符串中刪除,如果你想那麼從字符串中刪除它,你需要用對象源替換字符串,所以試試

item = $('<div />', {html:'_categoryItemDivTemplate'}); 
if (!isTopLevel) { 
    item.find('div.MakeTopLevelCategory').remove(); 
} 
+0

當我嘗試這個(與_String_我把問題的評論)它仍然包括 –

+0

@JonathanWood然後它應該工作,你能分享模板 –

+0

@JonathanWood語法完全搞砸了 - 你需要找到該對象,然後刪除它 –