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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (38)

是否可以在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(...)
用户回答回答于

就用这个:

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

希望能帮上忙。

扫码关注云+社区

领取腾讯云代金券