我正在尝试在javascript中创建类似于小编辑器的东西,但我不明白为什么.style不起作用..
提前感谢您的帮助!
这是我的代码:
<html>
<head>
<title>Hello World!</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body>
<div>
<textarea cols="30" rows="1" id="title1">write here the header</textarea><br /><br />
<textarea cols="30" rows="1" id="desc1">write here the paragraph</textarea>
<input type="button" value="show" onclick="doit()">
</div>
<script type="text/javascript">
function doit() {
var title = document.getElementById("title1").value;
var desc = document.getElementById("desc1").value;
document.write("<h1>"+title+"</h1>").style.color="blue";
document.write(desc);
}
</script>
</body>
</html>
答案 0 :(得分:2)
请勿使用document.write
,请参阅the spec的警告:
警告!此方法具有非常特殊的行为。在某些情况下,此方法可以影响HTML解析器的状态 解析器正在运行,导致DOM与之不对应 文档的来源(例如,如果写入的字符串是字符串 &#34;
<plaintext>
&#34;或&#34;<!--
&#34;)。在其他情况下,通话可以清除 首先是当前页面,就像调用document.open()
一样。还有更多 在这种情况下,方法被忽略,或抛出异常。要做 更糟糕的是,这种方法的确切行为在某些情况下可以 取决于网络延迟,这可能导致非常严重的故障 很难调试。 由于所有这些原因,强烈使用此方法 气馁。强>
改为使用DOM方法:
function doit() {
var title = document.getElementById("title1").value,
desc = document.getElementById("desc1").value,
h1 = document.createElement('h1');
h1.appendChild(document.createTextNode(title));
h1.style.color="blue";
document.body.appendChild(h1);
document.body.appendChild(document.createTextNode(desc));
}
答案 1 :(得分:1)
试试这个,
document.write("<h1 style='color:blue'>"+title+"</h1>");
答案 2 :(得分:1)
<div id="container">
<textarea cols="30" rows="1" id="title1">write here the header</textarea><br /><br />
<textarea cols="30" rows="1" id="desc1">write here the paragraph</textarea>
<input type="button" value="show" onclick="doit();" />
<h1 id="header" style="color:blue;"></h1>
<p id="par"></p>
</div>
function doit() {
var title = document.getElementById("title1").value;
var desc = document.getElementById("desc1").value;
document.getElementById('header').innerHTML=title;
document.getElementById('par').innerHTML=desc;
}
答案 3 :(得分:0)
<script type="text/javascript">
function doit() {
var title = document.getElementById("title1").value;
var desc = document.getElementById("desc1").value;
var newheader = document.createElement("h1");
newheader.innerHTML = "title";
newheader.style.color = "blue";
document.body.appendChild(newheader);
var newspan = document.createElement("span");
newspan.innerHTML = desc;
document.body.appendChild(newspan);
}
</script>