H0先生
2015-09-04 17:12
这里不使用创建文本节点而直接使用i.innerHTML="javascript";为什么不行?。。
可以用innerHTML 设置的啊,设置完了,再替换。代码:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>
<div><b id="oldnode">JavaScript</b>是一个很常用的技术,为网页添加动态效果。</div>
<a href="javascript:replaceMessage()"> 将加粗改为斜体</a>
<script type="text/javascript">
function replaceMessage(){
var newnode = document.createElement("i");
var oldnode = document.getElementById("oldnode");
newnode.innerHTML=oldnode.innerHTML;
oldnode.parentNode.replaceChild(newnode,oldnode);
}
</script>
</body>
</html>
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> </head> <body> <div id="div"> <b id="oldnode">JavaScript</b>是一个很常用的技术,为网页添加动态效果。 </div> <a href="javascript:replaceMessage()"> 将加粗改为斜体</a> <script type="text/javascript"> function replaceMessage(){ var newnode = document.createElement("i"); var div = document.getElementById('div'); newnode.innerHTML = "javascript"; div.appendChild(newnode); } </script> </body> </html>
i.innerHTML="javascript"; 这样肯定不行了。这这是创建一个标签为i的元素,可是这个元素你都没有加到页面中。它怎么能渲染出来!
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题
回答 1
回答 1