<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Demo : 鼠标选中位置修改文字颜色以及在前面插入节点</title>
<style>
.addColor {
color:red;
font-size:18px;
line-height:25px;
padding-left:20px;
}
</style>
</head>
<body>
<h1>这是一个 h1 节点,进行插入节点和添加 span 标签更改选中文本的字体颜色为红色</h1>
<input type="button" id="insertNode" value="插入节点"/>
<input type="button" id="addStyle" value="鼠标选中变为红色"/>
<script src="jquery-2.1.1.js"></script>
<script>
$(function(){
$("#insertNode").click(function(){
var selObj=window.getSelection();
var selRange=selObj.getRangeAt(0);
//var selectedText=selObj.toString();
var el = document.createElement('span');
el.className='addColor ';
el.id="test";
el.innerHTML="a test";
selRange.insertNode(el);
});
$("#addStyle").click(function(){
var selObj=window.getSelection();
var selRange=selObj.getRangeAt(0);
//var selectedText=selObj.toString();
var el = document.createElement('span');
el.className='addColor ';
el.id="test1";
selRange.surroundContents(el);
});
})
</script>
</body>
</html>
参考资料:getSelection、range 对象属性,方法理解,解释
document.createElement()的说明,详解