range范围问题

ABLE__323 2008-08-05 11:04:15
<html>

<head>

<title></title>
<script type="text/javascript" language="javascript">
function doRange(){
var oRange=document.createRange();
var oDiv=document.getElementById("content");
var oText=oDiv.firstChild;
oRange.setStart(oText,6);
oRange.setEnd(oText,8);
var oSpan=document.createElement("span");
oSpan.style.backgroundColor="yellow";
oRange.surroundContents(oSpan);
}
</script>
</head>

<body>
<div id="content" onclick="doRange();">This is a Content.</div>//-------------------1
</body>

</html>

这样一段代码变黄的将会是“s ”
而如果是<div id="content" onclick="doRange();">
This is a Content.
</div>
则正确变黄“is”
很奇怪我从firebug查看dom两种情况下div的childnodes分别是“this i”,span,"a Content"和
“this ”,span," a Content",请高手指点
...全文
108 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ABLE__323 2008-08-06
  • 打赏
  • 举报
回复
还真是!
ABLE__323 2008-08-06
  • 打赏
  • 举报
回复
不是哦,如果是多了换行,那应该是" i"才对
sxn19811006 2008-08-06
  • 打赏
  • 举报
回复
<div id="content" onclick="doRange();">This is a Content. </div>这样的话,应该是"s "

<div id="content" onclick="doRange();">
This is a Content.
</div>的话,是"is"

因为firstChild方法也会把换行符取出来
cloudgamer 2008-08-06
  • 打赏
  • 举报
回复
多了个换行吧
ABLE__323 2008-08-06
  • 打赏
  • 举报
回复
ding

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧