我正在为 Google Chrome 开发一个扩展程序。当用户选择某个文本区域时,它具有文本突出显示功能。当涉及到单个标签时,我可以<span>
在该特定标签内使用一个标签。到目前为止,我所做的如下。
var divs = document.getElementsByTagName("p");
for(var d in divs) {
// highlight a part of a <p> tag
divs[d].addEventListener('mouseup',function(){var str= document.getSelection() ;alert(str);
this.innerHTML =this.innerHTML.replace(str,'<span style="background-color: '+'yellow'+' ">'+str+'</span>');
});
}
但是如果用户选择几个标签区域(连续标签)我该怎么做。我不能在<span>
那里放一个标签。我必须<span>
为每个选定的标签使用标签。
1)如何检测和获取用户选择的标签。以及起点和终点。?
2)如何一次改变它们的背景颜色。?
3)我想添加听众,如果是我应该怎么做?
任何帮助将不胜感激。