Javascript 如何使用jquery仅从包装文本和图像的链接中删除文本?

Javascript 如何使用jquery仅从包装文本和图像的链接中删除文本?,javascript,jquery,html,Javascript,Jquery,Html,我有一个包含列表的网页。在每个li中都有一个a标签。a标记包含文本和图像。以下是html: <li class="li-one" style=""> <a href="#" onclick="return false"><img class="theimg" src="...." width="18" height=&q

我有一个包含列表的网页。在每个li中都有一个a标签。a标记包含文本和图像。以下是html:

<li class="li-one" style="">    
<a href="#" onclick="return false"><img class="theimg" src="...." width="18" height="12" alt="" title="">myText</a>
</li>

如何使用jQuery删除文本myText?

缓存图像,然后清空锚元素,然后重新插入图像:

jQuery(document).ready(function ($) {
    $(".li-one a").each(function () {
        var $this = $(this);
        var $img = $this.find('img');
        $this.empty().append($img);
    });
});

像这样更改html代码

<a href="#" onclick="return false">
   <img class="theimg" src="...." width="18" height="12" alt="" title="">
   <span>myText</span>
</a>

以下是一个仅删除文本节点的解决方案:


您可以抓取图像,删除所有内容,然后重新插入图像。如果他能够编辑html,为什么不删除文本?让我们想象一下,他想要一个隐藏文本或动态删除文本的按钮?他没有指定不能编辑HTML…是的。。。很抱歉没有提到。我不能修改html+1比我的效率高很多。现在再多做一点,使用this.parentNode.removeChildthis,这样就不必在每次遇到文本节点的迭代中构造新的jQuery对象。
<a href="#" onclick="return false">
   <img class="theimg" src="...." width="18" height="12" alt="" title="">
   <span>myText</span>
</a>
$(function(){
   $(".li-one a").find("span").text("");
});
$('.li-one a').contents().each(function () {
    if (this.nodeType == 3)
        $(this).remove();
});