Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何用索引替换div中的字符串_Javascript_Jquery - Fatal编程技术网

Javascript 如何用索引替换div中的字符串

Javascript 如何用索引替换div中的字符串,javascript,jquery,Javascript,Jquery,有没有办法替换contenteditable属性设置为true的div中的字符串? 例如: <div id="editableDiv" contenteditable="true"> the quick brown fox jumps over a lazy dog. </div> 下面是我用来获取角色位置的函数: function getCaretCharOffset() { var element = document.getElementById(

有没有办法替换
contenteditable
属性设置为
true
的div中的字符串?
例如:

<div id="editableDiv" contenteditable="true">
    the quick brown fox jumps over a lazy dog.
</div>
下面是我用来获取角色位置的函数:

function getCaretCharOffset() {
    var element = document.getElementById("editableDiv");
    var caretOffset = 0;
    if (typeof window.getSelection != "undefined") {
        var range = window.getSelection().getRangeAt(0);
        var preCaretRange = range.cloneRange();
        preCaretRange.selectNodeContents(element);
        preCaretRange.setEnd(range.endContainer, range.endOffset);
        caretOffset = preCaretRange.toString().length;
    }
    else if (typeof document.selection != "undefined" && document.selection.type != "Control")
    {
        var textRange = document.selection.createRange();
        var preCaretTextRange = document.body.createTextRange();
        preCaretTextRange.moveToElementText(element);
        preCaretTextRange.setEndPoint("EndToEnd", textRange);
        caretOffset = preCaretTextRange.text.length;
    }
    console.log(caretOffset);
    return caretOffset;
}
这是工作程序


“你好,我是文本”
$('one span')。文本('Hi I am replace');

单击按钮从字符串中提取字符

试试看 函数myFunction() { var str=“你好,世界!”; var-res=str.substring(1,4); document.getElementById(“demo”).innerHTML=res; }
您可以使用
substring()
方法获取搜索字符串,并使用
replace()
方法替换它

<div id="sam" contenteditable="true">the quick brown fox jumps over a lazy dog
</div>
<button id="click">Click Me</button>

document.getElementById("click").addEventListener("click",function()
{
   var startIndex = 0;
   var endIndex = 2;
   var str = "why";
   var divStr = document.getElementById("sam").innerHTML;

   var searchStr = divStr.substring(startIndex,endIndex+1);

   document.getElementById("sam").innerHTML = divStr.replace(searchStr,str);
},false);
敏捷的棕色狐狸跳过一只懒狗 点击我 document.getElementById(“单击”).addEventListener(“单击”,函数)() { var startIndex=0; var-endIndex=2; var str=“为什么”; var divStr=document.getElementById(“sam”).innerHTML; var searchStr=divStr.substring(startIndex,endIndex+1); document.getElementById(“sam”).innerHTML=divStr.replace(searchStr,str); },假);
直播

我看不出这与这个问题有什么关系
<div id="one">
       <div class="first"></div>
       <span>"Hi I am text"</span>
       <div class="second"></div>
       <div class="third"></div>
</div>

$('#one span').text('Hi I am replace');
<p id="demo">Click the button to extract characters from the string.</p>

<button onclick="myFunction()">Try it</button>

<script>
function myFunction()
{
var str = "Hello world!";
var res = str.substring(1,4);
document.getElementById("demo").innerHTML=res;
}
</script>
<div id="sam" contenteditable="true">the quick brown fox jumps over a lazy dog
</div>
<button id="click">Click Me</button>

document.getElementById("click").addEventListener("click",function()
{
   var startIndex = 0;
   var endIndex = 2;
   var str = "why";
   var divStr = document.getElementById("sam").innerHTML;

   var searchStr = divStr.substring(startIndex,endIndex+1);

   document.getElementById("sam").innerHTML = divStr.replace(searchStr,str);
},false);