2011-07-14 73 views
9

我想從我的對象中刪除一個特定的類,因爲我的要求是在顯示內容之前刪除該dom數據。我寫了一個示例代碼,但無法得到爲什麼這不起作用。我jquery的刪除也無法正常工作。請幫我解決。在此先感謝如何從jquery對象中刪除dom元素

<html> 
<head> 
<title>test</title> 
<script type="text/javascript" src="jquery-1.5.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 

    // complete html 
    var test; 
    test = $('#issue_detail_first_row').html(); 

    var x = $(test).find('#issue_detail_nav').not('.p1'); 

    $('#sett').html(x); 
}); 

</script> 
</head> 
<body> 
<div id="issueDetailContainer"> 
     <div id="issue_detail_first_row"> 
      <div> 
       <div id="issue_detail_nav"> 
        <div>test</div> 
        <div id="gett"> 
         <div class="p1"> 
          this content need to be deleted 1 
         </div> 
        </div> 

        <div class="p1"> 
         this content need to be deleted 2 
        </div> 

       </div> 
      </div>     
     </div> 
     <br/><br/><br/><br/> 
<div id="sett"> 
</div> 

+2

你如何使用$一個.remove()? – jrummell

回答

15

您需要直接從DOM中刪除的內容。

$("#issue_detail_first_row .p1").remove(); 

這將選擇.p1元素從DOM中刪除

7

看來你要複製一節,但沒有.p1元素。

您可以使用clone()[docs]方法克隆該部分,使用remove()[docs]方法刪除不需要的內容,然後插入其HTML。

$(document).ready(function() { 

    var test = $('#issue_detail_first_row').clone(); // clone it 

    test.find('.p1').remove(); // find and remove the class p1 elements 

    $('#sett').html(test.html()); // insert the new content 
}); 

工作例如:http://jsfiddle.net/YDZ9U/1/

唯一的事情是,你需要經過和更新的ID在克隆,使他們不會在頁面上重複。

9

你可以在javascript對象上使用remove函數。

如果您想在顯示之前對其進行預處理。

例如

var a =$("#issue_detail_first_row").html(); 
var jhtml =$(a)[0]; 
$(jhtml).find('.p1').remove(); 
alert($(jhtml).html()); 

現在使用JHTML。 演示

http://jsfiddle.net/WXPab/14/