如何使用jQuery将css应用于savedRange文本选择?

是否可以在savedRange文本选择周围应用css或wrap标签。 我正在使用jquery。

这不起作用:

$(savedRange).css(...); $(savedRange).wrap(...); 

如果通过“savedRange”你的意思是这样的:

 selection = window.getSelection() savedRange = selection.getRangeAt(0) 

然后你必须首先为范围创建一个包装器,如下所示:

 wrapper = document.createElement('span') savedRange.surroundContents(wrapper) selection.selectAllChildren(wrapper) 

然后你可以申请风格:

 $(wrapper).css(...) 

它不适用于选定的文本,但这会在其他HTML元素周围放置一个带有某种样式的HTML标记。

 $(savedRange).wrap(''); 

只是用这个:

 var sel = window.getSelection(); var range = sel.getRangeAt(0); var tag = range.commonAncestorContainer.parentElement; $(tag).css({'color':'red'}); // you can add css again using jquery 

希望能有所帮助。