jquery - 使用 jQuery 清除文本但将图像保留在 <a> 超链接内

标签 jquery

我如何删除“产品 X”并仅使用 jquery 保留图像?

<span class="product-field-display">
  <a href="/products/product-a-detail" original-title="Product A">
    <img alt="product-a" src="/images/resized/product_a_180x180.png">Product A</a>
</span>
<span class="product-field-display">
  <a href="/products/product-b-detail" original-title="Product B">
    <img alt="product-b" src="/images/resized/product_b_180x180.png">Product B</a>
</span>

我尝试过:

$j('span.product-field-display a').html('');

并与:

$j('span.product-field-display a').text('');

但它全部被清除,而不仅仅是文本

最佳答案

您可以抓取图像,清除 anchor ,然后将图像放回去:

$j('#gkComponent .productdetails-view .product-related-products .product-field-type-R span.product-field-display a').each(function() {
    var $this = $(this);
    var img = $this.find('img').detach();
    $this.empty().append(img);
});

或者通过 DOM 从 anchor 删除所有文本节点,保持 img 元素不变:

$j('#gkComponent .productdetails-view .product-related-products .product-field-type-R span.product-field-display a').each(function() {
    var node, nextNode;

    node = this.firstChild;
    while (node) {
        nextNode = node.nextSibling;
        if (node.nodeType === 3) { // 3 = text node
            node.parentNode.removeChild(node);
        }
        node = nextNode;
    }
});

关于jquery - 使用 jQuery 清除文本但将图像保留在 <a> 超链接内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16376980/

相关文章:

javascript - 尝试记录 json 值时出现 NaN 错误

jquery - Telerik ASP .NET MVC Grid - 添加自定义删除按钮

jquery - 使用 jquery 从 json 字符串中的键中删除引号

php - json_encode 和 highcharts

javascript - 无法更改 Bootstrap 工具提示标题

javascript - 将 cssPIE 用于 IE8 中的 js 选项卡内容未呈现

javascript - 将javascript中的对象转换为json对象

jquery - .delegate() 未绑定(bind)到 anchor 元素标签

jQuery 在 prev 中找到相同的 td。和下一行

php - 不能用jquery设置label标签的html吗?