Javascript 如何使用jquery仅从包装文本和图像的链接中删除文本?
我有一个包含列表的网页。在每个li中都有一个a标签。a标记包含文本和图像。以下是html: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 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();
});