JavaScript 怎么替换div中选中的文本

wujinjian2008n 2009-03-26 01:48:02
意思就是:

假如我div中的文本是:sgsdfgabsgsabdfgdfhfhabgdhesgdabgsabgf,我用鼠标选中ab后点击按钮,将此处的ab替换成cc ,只替换这一处,别的地方不替换,就是说只替换我选中的文本。

我现在能获取到选中的文本,后面不知怎么做,大家给点思路!
...全文
954 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
tallent5 2011-06-01
  • 打赏
  • 举报
回复
document.selection.createRange();火狐不起作用,请问实现楼上的功能火狐怎么做
mike_24 2009-03-26
  • 打赏
  • 举报
回复
关注,学习
the_pain 2009-03-26
  • 打赏
  • 举报
回复
up
wujinjian2008n 2009-03-26
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 wujinjian2008n 的回复:]
又有问题了,我选中点击按钮时,能把我选中的文本设置为粗体,可我再选中,点击按钮时不能还原成原来的。

var range = document.selection.createRange();//得到选中的对象

if(range.htmlText.toLowerCase().indexOf(" <b>")==-1)
{
range.pasteHTML(" <b>"+range.htmlText +" </b>");
}
else
{
range.pasteHTML(range.text);
}
[/Quote]

能不能用这种方法解决呢???
CutBug 2009-03-26
  • 打赏
  • 举报
回复
range.parentElement()
<script>
function replaceSeleted(){
var range = document.selection.createRange();//得到选中的对象
alert(range.htmlText);
if(range.htmlText.toLowerCase().indexOf("<b>")==-1)
{
range.pasteHTML("<b>"+range.htmlText +"</b>");
}
else
{
var pNode = range.parentElement();
pNode.outerHTML = pNode.innerText;

}
}
</script>

<span id=oMessage>我的部分内容是要被选择的。</span>
<br><br>
<input type=button value="将选择内容替换为$" onclick="replaceSeleted()">


wujinjian2008n 2009-03-26
  • 打赏
  • 举报
回复
解决了,

用execCommand("Bold"); 一句话就搞定!
wujinjian2008n 2009-03-26
  • 打赏
  • 举报
回复
CutBug 在吗??
itcrazyman 2009-03-26
  • 打赏
  • 举报
回复
学习document.selection.createRange()
wujinjian2008n 2009-03-26
  • 打赏
  • 举报
回复
又有问题了,我选中点击按钮时,能把我选中的文本设置为粗体,可我再选中,点击按钮时不能还原成原来的。

var range = document.selection.createRange();//得到选中的对象

if(range.htmlText.toLowerCase().indexOf("<b>")==-1)
{
range.pasteHTML("<b>"+range.htmlText +"</b>");
}
else
{
range.pasteHTML(range.text);
}
RHCL 2009-03-26
  • 打赏
  • 举报
回复
呃~
CutBug 2009-03-26
  • 打赏
  • 举报
回复
多看DHTML/DOM方面的chm,现在用jquery框架
wujinjian2008n 2009-03-26
  • 打赏
  • 举报
回复
非常非常感谢你 CutBug !

问题解决了!

vs2005 中JavaScript好多方法它都提示不出来,问一下 高人 用什么JavaScript开发工具
CutBug 2009-03-26
  • 打赏
  • 举报
回复
用parseHTML
<script>
function replaceSeleted(){
var selection =document.selection.createRange();
selection.pasteHTML("<font color='red'>bbb</font>")

}
</script>

<span id=oMessage>我的部分内容是要被选择的。</span>
<br><br>
<input type=button value="将选择内容替换为$" onclick="replaceSeleted()">
CutBug 2009-03-26
  • 打赏
  • 举报
回复
document.selection.createRange()获取光标选中的对像
boundingLeft 获取绑定 TextRange 对象的矩形左边缘和包含 TextRange 对象的左侧之间的距离。
boundingTop 获取绑定 TextRange 对象的上边缘和包含 TextRange 对象的顶边之间的距离。
boundingWidth 获取绑定 TextRange 对象的矩形的宽度。
boundingHeight 获取绑定 TextRange 对象的矩形的高度。
offsetLeft 获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置。
offsetTop 获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置。
htmlText 设置或获取范围内包含的HTML文本。
text 设置或获取范围内包含的文本。
wujinjian2008n 2009-03-26
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 CutBug 的回复:]
引用 9 楼 wujinjian2008n 的回复:
知道了

是用document.selection.createRange().htmlText

对的
[/Quote]

htmlText 是只读的吗???


怎么这样写不对啊
document.selection.createRange().htmlText="<b>"+document.selection.createRange().htmlText +"</b>";
hecong875 2009-03-26
  • 打赏
  • 举报
回复
<script>
function replaceSeleted(){
var selection =document.selection.createRange();
selection.text="$";
}
</script>
document.selection.createRange().text //获取选中的文本。
CutBug 2009-03-26
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wujinjian2008n 的回复:]
知道了

是用document.selection.createRange().htmlText
[/Quote]
对的
benbirdar 2009-03-26
  • 打赏
  • 举报
回复
UP
mqc507 2009-03-26
  • 打赏
  • 举报
回复
学习····
wujinjian2008n 2009-03-26
  • 打赏
  • 举报
回复
知道了

是用document.selection.createRange().htmlText
加载更多回复(8)

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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