如何使用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
希望能有所帮助。