Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何删除DIV中除一个元素之外的所有内容?_Jquery - Fatal编程技术网

Jquery 如何删除DIV中除一个元素之外的所有内容?

Jquery 如何删除DIV中除一个元素之外的所有内容?,jquery,Jquery,我有以下HTML: <div class="item"> <img src="http://mintywhite.com/images/wg/0904/05rssfeedicons/rss-feed-icons11.jpg"/> TEXT NODE <span class="some_class">What the funk?</span> <form>What the monkey</form&g

我有以下HTML:

<div class="item">
    <img src="http://mintywhite.com/images/wg/0904/05rssfeedicons/rss-feed-icons11.jpg"/>
    TEXT NODE
    <span class="some_class">What the funk?</span>
    <form>What the monkey</form>
</div>
有什么建议吗

这是我的JSFIDLE,你可以摆弄它:


如果图像上有任何数据或处理程序,我们可以使用
.detach()


如果有多个,则需要使用
.each()


文本节点需要包装在一个html标记中,如span。 我使用您提供的JSFIDLE进行了尝试,没有遇到任何问题。

祝你好运! 汤姆


**文本节点**
什么鬼东西?
什么猴子

尝试以下操作:
$('.item').contents(':not(img)).remove()

对于jQuery v1.9.1及以下版本,以下各项将起作用:

$('.item').contents(':not("img")').remove();
这将查找所有不是图像的元素(包括文本节点)并删除它们

$(文档).ready(函数(){
$('.item').contents(':not(“img”)).remove();
});

文本节点
什么鬼东西?
什么猴子

文本仍然保留,因为它不是DOM元素。尝试在其周围添加一个
。或者我认为您应该制作类似于
$(“.class”).text()=”但不太确定。我不同意,我的解决方案有效。contents方法意味着它不需要span标记。不过,我同意span标签是最好的做法。谢谢你的回答,汤姆。抱歉,我的问题不清楚,但这是问题的一部分-文本节点没有包装在元素中。超级有用且简单+1您可以将其用于2.1.1:$('.item').children(':not(img')).remove();虽然你的答案确实删除了文本元素,而我上面的评论也没有。
var itm = $('.item');
var img = itm.children('img');
itm.empty().append(img);
var itm = $('.item');
var img = itm.children('img').detach();
itm.empty().append(img);
$('.item').each(function() {
    var img = $(this).children('img').detach();
    $(this).empty().append(img);
});
<div class="item">
    <img src="http://mintywhite.com/images/wg/0904/05rssfeedicons/rss-feed-icons11.jpg"/>
  **<span>TEXT NODE</span>**
    <span class="some_class">What the funk?</span>
    <form>What the monkey</form>
</div>
$('.item').contents(':not("img")').remove();