【发布时间】:2011-02-26 08:40:02
【问题描述】:
<html>
<body>
<script language="javascript">
function getSelectionHTML()
{
var div = document.getElementById("myDiv");
if (document.createRange) {
var textNode=div.firstChild;
var rangeObj=document.createRange();
rangeObj.setStart(textNode,0);
rangeObj.setEnd(textNode,5);
div .innerHTML = div .innerHTML.replace(rangeObj.toString(), '<span style="background-color: lime">'+rangeObj.toString()+'</span>')
}
}
</script>
<div id="myDiv">
asdf as<b>dfas df asf asdf sdfjk dvh a sjkh jhcdjkv</b> iof scjahjkv ahsjv hdjk biud fcsvjksdhf k
</div>
<form name="aform">
<input type="button" value="Get selection" onclick="getSelectionHTML()">
</body>
</html>
好的。让我解释一下 -> getSelectionHTML() 方法用于选择从 0 到 10 的字符。我通过“myDiv”id 获取值。但是内部粗体、斜体和其他标签给我带来了麻烦。
简单来说,我只想选择“myDiv”标签中的前十个字符(并应用它们跨度标签)。
我到底错过了什么?
【问题讨论】:
-
为什么要用两个局部变量来存储
document.getElementById('myDiv')? -
@Marcel - 等待更正。请参阅 - 几秒钟后编辑的问题。
-
嘿!注意这一点。我正在尝试这个链接 - help.dottoro.com/ljvfwqlq.php
标签: javascript html safari dhtml