如何用JavaScript重建字符串
下面的代码现在正在运行。Matt SL指出了 substr和substring之间的差异 此函数用于向文本区域中的文本添加标记,就像在Stackoverflow上的问答中用粗体显示文本一样 var lastFocus; $bold.clickfunction e{ e、 防止违约; e、 停止传播; befString=; aftString=; dif=aftString.length-befString.length; 如果最后一个焦点{ setTimeoutfunction{lastFocus.focus},10; var textEdit=document.getElementById'textEdit'; var befSel=textEdit.value.substr0,textEdit.selectionStart; var aftSel=textEdit.value.substrtextEdit.selectionEnd,textEdit.length; var select=textEdit.value.substrtextEdit.selectionStart,textEdit.selectionEnd-aftString.length; textEdit.value=befSel+befString+select+aftString+aftSel; } 返回false; }; $textEdit.blurfunction{ lastFocus=这个; }; 文本编辑{ 宽度:300px; 高度:200px; } 大胆的{ 字体大小:25px; 光标:指针; } 选择所有2个,然后 点击这里如何用JavaScript重建字符串,javascript,string,Javascript,String,下面的代码现在正在运行。Matt SL指出了 substr和substring之间的差异 此函数用于向文本区域中的文本添加标记,就像在Stackoverflow上的问答中用粗体显示文本一样 var lastFocus; $bold.clickfunction e{ e、 防止违约; e、 停止传播; befString=; aftString=; dif=aftString.length-befString.length; 如果最后一个焦点{ setTimeoutfunction{lastFo
11111 222 33333将定义var select的行更改为使用substring而不是substr,并且不再从textEdit.SELECTIONND中减去aftString.length。这意味着文本选择索引与子字符串函数的预期参数一致 下面是一个示例
var select = textEdit.value.substring(textEdit.selectionStart, textEdit.selectionEnd);
根据,它是选择后第一个字符的索引
和之间的差异是它们所期望的第二个参数:
substrstartIndex,长度
子字符串StartIndex,endIndex
我得到111112222333333-你期待什么?哼,我期待111112222333333,因为我只选择了2's,我假设你逐行通过这个代码来查看它在做什么?你们看到了什么?我在select上使用了substr,当时它应该是substringWright,因为substr将计数,substring正在给出位置。谢谢你,工作得很好,现在你有了答案!