我有一个div
元素。我将在此div
中复制粘贴一些文字。然后,点击创建按钮后,将在div
内创建另一个div
,其中包含所选文字。新的div
将具有不同的背景颜色,不同的字体和其他样式属性。但我的代码不起作用。请帮我弄清楚错误。谢谢!
<html>
<head>
<title>select</title>
<style>
</style>
</head>
<body>
<script>
function changeit(){
var slctn = document.getSelection();
var strings = slctn.toString();
alert(strings);
var get_id = document.getElementById("myspace");
var elem = document.createChild("div");
var design = document.createAttribute("style");
design.value = "background-color:white;color:red;font-weight:bold;font-style:italic;font-family:CURSIVE;";
elem.setAttributeNode(design);
elem.createTextNode(now);
get_id.appendChild(elem);
alert("it is done");
}
</script>
<div contenteditable="true" width="400px" height="500px" style="background-color:pink;display:block;" id="myspace">ddd</div>
<input type="button" value="select" onClick="changeit();">
</body>
</html>
答案 0 :(得分:0)
<script>
function changeit(){
var slctn=document.getSelection();
var strings=slctn.toString();
alert(strings);
document.getElementById("myspace").appendChild('<div style="background-color:white;color:red;font-weight:bold;font-style:italic;font-family:CURSIVE;">'+document.getElementById("myspace").innerHTML+'</div>');
}
</script>
作品?
答案 1 :(得分:0)
对于create div
元素,您应该使用
var elem = document.createElement("div");
而不是
var elem = document.createChild("div");
并createTextNode
执行document
之类的内容
document.createTextNode('now');
工作DEMO