首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

请问 pasteHTML的有关问题

2013-12-16 
请教 pasteHTML的问题先看一段简单代码!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN

请教 pasteHTML的问题
先看一段简单代码


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>test pasteHTML</title>
<meta content="text/html; charset=UTF-8" />
<script>
function test(){
var sel = document.selection;

  if (sel!=null) {
    var rng = sel.createRange();

    if (rng!=null) {
    rng.pasteHTML("<p><strong>Selection has been REPLACED.</strong></p>");
    }
  }
}

</script>
</head>
<body>
<textarea id="test" rows="20" cols="100"></textarea>
<br />
<input type="button" value="replace" onclick="test();" />
<script>
var sel = document.selection;
//var sel = document.getElementById("test").document.selection;

  if (sel!=null) {
    var rng = sel.createRange();
alert(rng.text);
    if (rng!=null) {
    document.getElementById("test").focus();
    rng.pasteHTML("<p><strong>Selection has been replaced.</strong></p>");
    }
  }
</script>
</body>
</html>

当第一次加载页面时,会在页面顶部显示“Selection has been replaced.”。但是当我点击replace按钮时,就报错了,说未指明错误。不知道为什么,知情人士不吝赐教,共同学习。
我想实现的效果是选中在textarea中的内容,点击replace按钮时,就报错。达不到想要的效果。 JavaScript pasteHTML textArea
[解决办法]
估计是textarea,和input这样的标签,是不支持这样做的。它们不能包含其他的标签的,你试试直接写在里面,标签都是直接以标签的形式显示的,不会有效果的。

你可以把textarea改成div,就行了。


[解决办法]
这个 你点下去后  selection还是原来那个地方的selection吗

热点排行