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

时间:2014-01-31 15:27:38

标签: javascript jquery html

我有一个包含列表的网页。在每个li中都有一个标签。 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,但图像也被删除了:

jQuery(document).ready(function($){jQuery(".li-one").text("");});

如何用jquery删除文本(myText)?

3 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:3)

这是一个只删除文本节点的解决方案:

http://jsfiddle.net/4Q4tv/

$('.li-one a').contents().each(function () {
    if (this.nodeType == 3)
        $(this).remove();
});

答案 2 :(得分:0)

像这样更改你的HTML代码

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

然后添加jQuery脚本:

$(function(){
   $(".li-one a").find("span").text("");
});