更改鼠标突出显示的一系列文本的背景颜色

时间:2013-06-20 09:43:00

标签: javascript jquery html

我有一系列段落,我想更改所选文本的背景颜色。 例如:

<p>The quick brown</p>
<p>fox jumps over</p>
<p>the lazy dog</p>

用户选择了从“棕色”到“懒惰”的文本范围,然后单击更改颜色按钮。我想要做的是对所选文本进行修改,如更改颜色,大小等。

2 个答案:

答案 0 :(得分:1)

这是我得到的(仅适用于同一块元素中的文本) 如果有人能改进这一点,请做。

将'buttonid'替换为按钮的ID

function selectHTML() {

try {
    if (window.ActiveXObject) {
        var c = document.selection.createRange();
        return c.htmlText;
    }

    var nNd = document.createElement("span");
    var w = getSelection().getRangeAt(0);
    w.surroundContents(nNd);
    return nNd.innerHTML;
} catch (e) {
    if (window.ActiveXObject) {
        return document.selection.createRange();
    } else {
        return getSelection();
    }
}

}


$(function() {

$('#button_id').click( function() {
    var mytext = selectHTML();
    $('span').css({"color":"blue"});
});

});

答案 1 :(得分:0)

请参阅Selecting text in an element (akin to highlighting with your mouse)

我希望在这篇文章的帮助下,你能够实现你真正想要的东西。