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