为此,我建议使用我的Rangy库的CSS类applier模块。它适用于所有主要浏览器以及任何选择。它还将打开和关闭CSS类。
这是另一个问题的示例:[如何包装带有html标签的window.getSelection()。getRangeAt(0)中的文本选择?
例:
<style type="text/css"> span.red { color: red; }</style><script type="text/javascript"> var redApplier; window.onload = function() { rangy.init(); redApplier = rangy.createCssClassApplier("red", true); }; function makeSelectionRed() { redApplier.applyToSelection(); }</script>
更新
如果没有选择使用类,则仍然可以使用它的变体,尽管它有点round回绕:您可以使用Rangy应用一个类,然后使用jQuery查找此类的span并将CSS添加到每个类。这是一个例子:
function makeSelectionRed() { var randomCssClass = "rangyTemp_" + (+new Date()); var classApplier = rangy.createCssClassApplier(randomCssClass, true); classApplier.applyToSelection(); // Now use jQuery to add the CSS colour and remove the class $("." + randomCssClass).css({"color": "red"}).removeClass(randomCssClass);}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)