Javascript jquery not()不删除子项

Javascript jquery not()不删除子项,javascript,jquery,Javascript,Jquery,我有以下代码: var carol = "<h1>something</h1><div><span class='icon-edit'></span> lalalallalala </div>" $('<div>').append($(carol).not('span.icon-edit')).html() var carol=“什么东西” $('').append($(carol.not('span.icon

我有以下代码:

var carol = "<h1>something</h1><div><span class='icon-edit'></span> lalalallalala </div>"
$('<div>').append($(carol).not('span.icon-edit')).html()
var carol=“什么东西”
$('').append($(carol.not('span.icon edit')).html()
它仍然输出:

"<h1>something</h1><div><span class="icon-edit"></span> lalalallalala </div>"
“什么东西啦”
基本上没有移除任何东西


为什么??如何取下它?

取下
carol

var carol = "<h1>something</h1><div><span class='icon-edit'></span> lalalallalala </div>";

$('<div>').append($(carol)).html()
输出

var carol = "<h1>something</h1><div><span class='icon-edit'></span> lalalallalala </div>"
$('<div>').append($(carol).find('span.icon-edit').remove().end()).html()
"<h1>something</h1><div> lalalallalala </div>"
“什么东西啦”
因此,它是以下因素的组合:

  • :匹配HTML中的
    span
    carol
  • :删除匹配的
    span
  • :由于
    .remove()
    将返回已删除的
    span
    ,并且您希望原始集合,
    .end()
    将集合返回到以前的状态(其中包含元素
    h1
    div

.append($(carol).remove('span.icon edit'))
。您没有选择元素,但是返回相同的选择器,即
carol
。not()
无法按您的想法工作。它是当前元素集的筛选器,不是用于删除子元素的函数。@Tushar仍然无法使用remove()以及:(@123onet这三个选项需要
.find()
.remove())
span.在添加
carol
之前,请先编辑图标。除非您明确告知,否则jQuery不会处理元素中的子元素。那么,您的问题解决了吗?您可以通过以下方式通知我们。
var carol = "<h1>something</h1><div><span class='icon-edit'></span> lalalallalala </div>"
$('<div>').append($(carol).find('span.icon-edit').remove().end()).html()
"<h1>something</h1><div> lalalallalala </div>"