我不知道兼容性如何? 下面一段代码IE里测试通过<br>假设已有样式:
<style>
.bb {font-size:9 pt; background-color: red}
</style>我只要在点击某个按钮之后将一段选中的文本的样式改为bb样式。
<input type=button value=meizz onclick="mm()"><SCRIPT LANGUAGE="JavaScript">
function mm()
{
  var txt = document.selection.createRange().text;
  if(txt=="") return;
  var reg = new RegExp("("+ txt +")");
  document.body.innerHTML = document.body.innerHTML.replace(reg, "<span class='bb'>$1</span>");
}
</SCRIPT>

解决方案 »

  1.   

    在moz中不行:(不过还是得谢谢meizz兄,我等了好久,终于有人理了
      

  2.   

    selection和innerHTML都是MS的东西,不是W3C标准.
      

  3.   

    刚才试了一下,发现meizz的IE中的代码还是有点问题
    比如在IE中有这么一串字符“asdfasdfasdf”这样选中中间或后面的“asdf”,只会改变第一个“asdf”的效果。这几天我一直在弄这个问题,由于E文不好,所以查资料时有许多还不明白。不过我觉得解决这个问题的话,应该要选中元素,并给它的CLASS属性赋值。不知是否这样?还请多指教
      

  4.   

    moz下对range的操作很有限,ie下可以这样<style>
    .bb {font-size:9 pt; background-color: red}
    </style>我只要在点击某个按钮之后将一段选中的文本的样式改为bb样式。
    <input type=button value=meizz onclick="mm()"><SCRIPT LANGUAGE="JavaScript">
    function mm()
    {
      var r = document.selection.createRange()
      var txt = r.text;
      if(txt=="") return;
      r.pasteHTML("<span class='bb'>" + txt + "</span>");
    }
    </SCRIPT>
      

  5.   

    结贴,在MOZ下弄出来了。谢谢各位的帮忙!:)