添加break标记以使用regexp显示单个行



我有一个div元素。我将在这个div中复制粘贴一些文本。然后,单击创建按钮,将在div中创建另一个div,其中包含选定的文本。新的div将具有不同的背景色、不同的字体和其他样式属性我的问题是,我希望每一行都是单独的一行。所以我使用replace()命令和regexp来更改带有标记的每个分号。但它考虑了字符串的标记部分,并且没有创建单独的行。如何解决

这是演示。

JS-

function changeit() {
    var slctn = document.getSelection();
    var strings = slctn.toString();
    alert(strings);
    var get_id = document.getElementById("myspace");
    var elem = document.createElement("div");
    var design = document.createAttribute("style");
    design.value = "background-color:grey;color:black;font-weight:bold;font-style:italic;font-family:CURSIVE;";
    elem.setAttributeNode(design);
    alert("it is done");
    var rep = strings.replace(/;/g, "<br>");
    var texts = document.createTextNode(rep);
    alert(texts);
    elem.appendChild(texts);
    get_id.appendChild(elem);
}

HTML

<div  contenteditable="true" width="40px" height="50px" style="display:block;" id="myspace">ddd</div>
<input type="button" value="select" onClick="changeit();">

替换如下:

// elem.appendChild(texts);
elem.innerHTML = rep;

以下是jsFiddle

上的工作示例

最新更新