javascript - 替换包含 <i> 的 <a> 标记中的文本

标签 javascript jquery

我有一个 anchor 标记,其中包含嵌套图标和一些文本。当我尝试更新文本时,该图标被删除。这是示例:

jsfiddle

其中包含:

HTML:

<a class="btn btn-danger" id="bin"><i class="icon-trash"></i> Remove Selected (0)</a>

JS:

$(function(){
    var selectCount = 0;
    $("#bin").click(function(){
        selectCount++;
        $(this).text(" Remove Selected ("+selectCount+")");
    });
});

我尝试将选择器替换为 $(this).children(":text") 但无济于事。任何帮助将不胜感激。

干杯

最佳答案

要更改第一个文本节点的值,您可以执行以下操作:

$(function(){
    var selectCount = 0;
    $("#bin").click(function(){
        selectCount++;
        for(var i = 0; i < this.childNodes.length; i++) {
            var childNode = this.childNodes[i];
            if(childNode.nodeType === 3) {
                childNode.textContent = " Remove Selected ("+selectCount+")";
                return;
            }
        }
    });
});

nodeType === 3 表示文本节点 - 更多详细信息:https://developer.mozilla.org/en-US/docs/Web/API/Node.nodeType

http://jsfiddle.net/Dogbert/FZWyj/13/

关于javascript - 替换包含 <i> 的 <a> 标记中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17377929/

相关文章:

javascript - 背景网址,只有一张图片有效

javascript - 使用 jQuery 禁用悬停效果调整大小

javascript - 异步/等待返回结果不 promise

javascript - 单击按钮以打开拼写检查

JavaScript:单击按钮时无法更改 div 的背景颜色

javascript - 使用 javascript 或 jquery 只允许在文本框中输入 2 个小数点?

javascript - Jquery 悬停和退出

javascript - 交换 jquery 数据表的行

javascript - Office js 条件格式

javascript - HTML5中如何在没有任何 &lt;input&gt; 标签的情况下读取本地系统?