我正在做一些浏览器编辑,并且我的一些内容在中的长度约为20k个字符。

所以看起来像:

<textarea>
Text 1
Text 2

Text 3
Text 4
[...]
Text 20,000
</textarea>


我想使用jquery在有人按下按钮进行剁碎时将其修剪,但是在不使浏览器过载的情况下,我遇到了麻烦。假设我知道字符数在16,510-17,888之间,而我想对它进行修剪。

我正在使用:

jQuery('#textsection').html(jQuery('textarea').html().substr(range.start));

但是,当我这样做时,浏览器似乎会崩溃。备择方案?

编辑

来自评论的解决方案:

 var removeTextNode = document.getElementById('textarea').firstChild;
 removeTextNode.splitText(indexOfCharacterToRemoveEverythingBefore);
 removeTextNode.parentNode.removeChild(removeTextNode);

最佳答案

不确定jQuery,但使用普通的Javascript,可以使用splitText()对象的textNode方法来完成。您的<pre>有一个textNode子级,其中包含所有内部文本。 (您可以从childNodes集合中获取它。)将其拆分为所需的索引,然后使用removeChild()删除不需要的部分。

09-25 19:53