提问者:小点点

是否可以使用JQuery找出应用于所选内容的css样式


选择文本并单击一个按钮将突出显示该文本。 但如果文本已经突出显示,单击按钮时,所选文本将变为正常文本。

使用Jquery和单个按钮来实现这一点。

是否可能找到应用于选定文本的CSS。


共2个答案

匿名用户

一种方法是使用突出显示的类将选定的文本包装在一个span中,例如。

这个答案可能会有帮助!

如何使用javascript突出显示文本

匿名用户

这在本帖中已经得到了解答。

null

function makeEditableAndHighlight(colour) {
    var range, sel = window.getSelection();
    if (sel.rangeCount && sel.getRangeAt) {
        range = sel.getRangeAt(0);
    }
    document.designMode = "on";
    if (range) {
        sel.removeAllRanges();
        sel.addRange(range);
    }
    // Use HiliteColor since some browsers apply BackColor to the whole block
    if (!document.execCommand("HiliteColor", false, colour)) {
        document.execCommand("BackColor", false, colour);
    }
    document.designMode = "off";
}

function highlight(colour) {
    var range, sel;
    if (window.getSelection) {
        // IE9 and non-IE
        try {
            if (!document.execCommand("BackColor", false, colour)) {
                makeEditableAndHighlight(colour);
            }
        } catch (ex) {
            makeEditableAndHighlight(colour)
        }
    } else if (document.selection && document.selection.createRange) {
        // IE <= 8 case
        range = document.selection.createRange();
        range.execCommand("BackColor", false, colour);
    }
}

document.getElementsByTagName('button')[0].addEventListener('click', function(){
	highlight('red');
});
<div>
  <p>
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr.
  </p>
  <button>Change color</button>
</div>