添加break标记以使用正则表达式显示单独的行

时间:2014-04-08 14:10:14

标签: javascript

我有一个div元素。我将在这个div中复制粘贴一些文本。然后,在单击创建按钮时,将在div内创建另一个div,其中包含所选文本。新的div将有不同的背景颜色,不同的字体和其他样式属性。我的问题是我希望每一行都是一条单独的行。所以我使用replace()命令和regexp来改变evere半-colon with tag.but它正在考虑字符串的标记部分而没有创建单独的行。如何解决它

这是demo

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();">

1 个答案:

答案 0 :(得分:2)

像这样替换:

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

以下是 jsFiddle

的工作示例