Javascript:帮助用 innerHTML 的 '<div>' 替换 '<br>'!

标签 javascript html replace innerhtml

我有一个可编辑的 div,用户可以在其中写入。正如他所写,一个 javascript 函数将 div html 添加到 textarea .当用户按下 SHIFT+Enter 时,div 得到一个 <br>。 .这很好。

但是当用户单独按下 Enter 时,div 得到 <div></div>标签。

因此我尝试这样做,以便在按下 Enter 时,javascript 扫描 div 的 html 以消除 </div>并更改 <div>对于 <br> .结果将是,无论用户是按下 SHIF+Enter 还是 Enter,div 的 html 最终将只使用 <br>。换行符。

<head>
    <script type="text/javascript">
        function doStuff(e){
            if (window.event.keyCode == 13) {
                var s=document.getElementById("divv").innerHTML;
                s.replace("<div>", "<br>");
                s.replace("</div>", "");
                document.getElementById("divv").innerHTML=s;
            }
            document.getElementById("txtt").value = document.getElementById("divv").innerHTML;
        }
    </script>
</head>
<body>
    <div contenteditable="true" id="divv" onKeyUp=doStuff(event);">
        write here! Then press enter!
    </div>
    <textarea id="txtt" rows="30" cols="100">  
    </textarea>
</body>

我的代码不起作用。当按下 Enter 时,textArea 仍然显示 div 标签。
我不确定我做错了什么。请帮忙。

最佳答案

replace()方法不会修改调用它的字符串,它返回一个替换了出现的新字符串。

你可以这样做:

var divv = document.getElementById("divv");
divv.innerHTML = divv.innerHTML.replace("<div>", "<br>").replace("</div>", "");

关于Javascript:帮助用 innerHTML 的 '<div>' 替换 '<br>'!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4287970/

相关文章:

javascript - jQuery - 显示 : none not working

html - 如何在 Yahoo! 中查看电子邮件来源邮件

python - 正则表达式仅在特定字符不成对时才拆分该字符

javascript - 单击 Javascript 时替换网页中字符串的所有实例

java - 如何从java中的字符串中删除一些单词

javascript - window.location 未更新

javascript - 需要在 Javascript += 中构建数组??获取字符串

javascript - 如何在面向对象的 Javascript 中使用 JSONP

javascript - window.open 在 IE 中不工作

javascript - Bootstrap :Go to specific tab using a button in other page