上的工作示例
我有一个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