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

如何使用jQuery将css应用于savedRange文本选择?,jquery,css,selection,range,Jquery,Css,Selection,Range,是否可以在savedRange文本选择周围应用css或换行标记。我正在使用jquery 这不起作用: $(savedRange).css(...); $(savedRange).wrap(...); 它不会处理选定的文本,但会在另一个HTML元素周围放置一个带有某种样式的HTML标记 $(savedRange).wrap('<span style="color:red" />'); $(savedRange).wrap(“”); 它不会处理选定的文本,但会在另一个HTML元素周围

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

这不起作用:

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

它不会处理选定的文本,但会在另一个HTML元素周围放置一个带有某种样式的HTML标记

$(savedRange).wrap('<span style="color:red" />');
$(savedRange).wrap(“”);

它不会处理选定的文本,但会在另一个HTML元素周围放置一个带有某种样式的HTML标记

$(savedRange).wrap('<span style="color:red" />');
$(savedRange).wrap(“”);
如果“savedRange”的意思是:

selection = window.getSelection()
savedRange = selection.getRangeAt(0)
然后,您必须首先为该范围创建一个包装器,如下所示:

wrapper = document.createElement('span')
savedRange.surroundContents(wrapper)
selection.selectAllChildren(wrapper)
然后可以应用样式:

$(wrapper).css(...)
如果“savedRange”的意思是这样的:

selection = window.getSelection()
savedRange = selection.getRangeAt(0)
然后,您必须首先为该范围创建一个包装器,如下所示:

wrapper = document.createElement('span')
savedRange.surroundContents(wrapper)
selection.selectAllChildren(wrapper)
然后可以应用样式:

$(wrapper).css(...)
只要用这个:

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
希望能帮上忙。

用这个:

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

希望会有所帮助。

当您选择文本时,插入符号会放置在选择的两侧,以参考选择的开始和结束位置。此信息保存在savedRange变量中,以供以后引用所选内容。当您进行文本选择时,插入符号将放置在选择的两侧,以引用选择的开始位置和结束位置。此信息保存在savedRange变量中,以供以后参考所选内容。