我正在做一些浏览器编辑,并且我的一些内容在中的长度约为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()
删除不需要的部分。