<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获取值。但内部粗体,斜体&其他标签给我麻烦。通过忽略div标签的内部元素来选择文本javascript
简而言之,我只想对“myDiv”标签中的前十个字符(&应用它们的span标签)进行选择。
我到底错过了什么?
为什么你使用两个局部变量来存储'document.getElementById('myDiv')'? – 2010-06-01 13:27:36
@Marcel - 等待更正。请参阅 - 几秒钟后编辑的问题。 – 2010-06-01 13:29:36
嘿!注意这一点。我试图在这个链接 - http://help.dottoro.com/ljvfwqlq.php – 2010-06-01 14:12:07