jquery在x个字符后删除所有标签中的文本

时间:2013-10-04 10:58:46

标签: jquery html text tags

我正在尝试选择div的内容并删除x个字符后的所有文本。但是我需要保持标签/富文本不变,因为我不想最终使用非封闭标签,或者更糟糕的是,在中间分割标签。

所以我需要在x个字符之后清空所有标签中的所有文本 - 或者删除x个字符后的所有内容,然后自动关闭可能已经打开的所有标签。

我该怎么做呢?是否可以查找未关闭的标签,然后关闭它?或者是否可以简单地选择某个点之后的所有文本,然后删除字符串(而不是html)。

非常感谢

1 个答案:

答案 0 :(得分:0)

处理文本节点很困难而且很混乱,但this related question上有一些有用的信息,这使我在成功

的情况下执行this test

var x = 10;
$("body *").each(function(){
    $(this).contents()
        .filter(function(){ return this.nodeType ==1; })
        .text($(this).text().substring(0,x));
});