Javascript 在父级中HTML字符串之间的特定点追加DOM元素

Javascript 在父级中HTML字符串之间的特定点追加DOM元素,javascript,html,Javascript,Html,我正在一个段落/div元素中搜索“^”的特定字符,希望替换新创建的SPAN元素中的以下内容并将其升高(制作索引)。除了我附加SPAN元素的位置之外,所有操作都成功。我希望将其附加到我找到的位置,但是,除了找到该字符的索引之外,我没有任何线索可以找到该位置 我知道可以插入after(),但在这种情况下不起作用,因为我试图将元素附加到段落/div中的某个字符之后,而不是某个元素之后 产品规则 f(x)=u*v f'(x)=u'v+v'u 即//检查 f(x)=x^3+9 函数quill(){

我正在一个段落/div元素中搜索“^”的特定字符,希望替换新创建的SPAN元素中的以下内容并将其升高(制作索引)。除了我附加SPAN元素的位置之外,所有操作都成功。我希望将其附加到我找到的位置,但是,除了找到该字符的索引之外,我没有任何线索可以找到该位置

我知道可以插入after(),但在这种情况下不起作用,因为我试图将元素附加到段落/div中的某个字符之后,而不是某个元素之后


产品规则


f(x)=u*v
f'(x)=u'v+v'u


即//检查

f(x)=x^3+9
函数quill(){
var blocks=document.getElementsByClassName(“代码块”);
用于(块中的块){
for(设i=0;i
当我附加元素时,html看起来像,例如:


f(x)=x^2/*找到字符*/+6
2/*因此它在末尾附加元素*/

当我试图得到这样的东西时:


f(x)=x^2/*噢!找到了角色和位置,
在x^2和+6*/2+6之间添加元素


我想你应该使用正则表达式

函数quill(){
var blocks=document.getElementsByClassName(“代码块”);
用于(块中的块){
block.innerHTML=block.innerHTML.replace(/(\ ^\d+/,函数(项){返回“”+项+“”;});
}
}

羽毛笔()“我正在段落/div元素中搜索“^”的特定字符,希望替换新创建的SPAN元素中的以下内容并将其升高(创建索引)。“什么?在你的帖子里没有一个地方。还有,你说“…并上升(制作指数)”是什么意思?哎呀,有一个,直到我意识到我解决了错误的问题,所以我重做了它,但没有意识到我重做的部分是有指数的部分。我已经更改了示例,但仍然出现相同的“错误”。按中的顺序上升,而不是读x^2,它应该是x,右上角有一个小“2”,就像上标一样。你是说
x2
?是的,我刚知道在SimonRabbit的回答之后就存在了
function quill() {

        var blocks = document.getElementsByClassName("codeBlock");
        for (block of blocks) {

            for (let i = 0; i < block.textContent.length; i++) {
                var ch = block.textContent[i];

                if (ch == "^") {
                    // Loop until space
                    var l = i+1;
                    var superscript = document.createElement("SPAN");
                    var indice = "";
                    do {
                        indice += block.textContent[l];

                        l++;
                    } while (block.textContent[l] != " ");

                    superscript.textContent = indice;
                    superscript.className = "superscript";
                    block.appendChild(superscript);

                    console.log(indice);
                }

            }

        }


    }
    quill();