如何从 jQuery 对象中删除 DOM 元素

9

我想从我的对象中删除特定的类,因为我的要求是在显示内容之前删除该dom数据。我已经编写了一个示例代码,但不知道为什么它不起作用。我尝试使用jQuery的remove方法,但也没有成功。请帮助我解决这个问题。提前感谢您的帮助。

<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
3个回答

15
你需要直接从DOM中移除内容。
$("#issue_detail_first_row .p1").remove();
那将选择.p1元素并将它们从DOM中移除。

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/


7

看起来你想复制一个部分,但是没有包含.p1元素。

你可以使用clone()[文档]方法克隆该部分,remove()[文档]方法删除不需要的内容,然后插入其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,以避免在页面上重复出现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接