如何从jquery对象中删除dom元素

时间:2011-07-14 15:16:24

标签: javascript jquery jquery-selectors

我想从我的对象中删除一个特定的类,因为我的要求是在显示内容之前删除该dom数据。我已经编写了一个示例代码,但却无法理解为什么它不起作用。我jquery的删除也无法正常工作。请帮我解决。提前致谢

<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>

3 个答案:

答案 0 :(得分:15)

您需要直接从DOM中删除内容。

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

这将选择.p1元素并从DOM中删除它们

答案 1 :(得分:9)

你可以在javascript对象上使用删除功能。

如果要在显示之前预处理它。

示例

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

现在使用jhtml。 演示

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

答案 2 :(得分: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,以便它们不会在页面上重复。