Modifier le CSS du texte sélectionné à l'aide de Javascript

Je suis en train de faire un script javascript bookmarklet qui va agir comme un surligneur, changer le fond du texte sélectionné sur une page web pour en jaune lorsque le bookmarklet est pressé.

J'utilise le code suivant pour obtenir le texte sélectionné, et il fonctionne très bien, retourner la chaîne correcte

function getSelText() {
var SelText = '';
if (window.getSelection) {
    SelText = window.getSelection();
} else if (document.getSelection) {
    SelText = document.getSelection();
} else if (document.selection) {
    SelText = document.selection.createRange().text;
}
return SelText;

}

Cependant, lorsque j'ai créé une fonction similaire pour modifier le CSS du texte sélectionné à l'aide de jQuery, ce n'est pas le travail:

function highlightSelText() {
var SelText;
if (window.getSelection) {
    SelText = window.getSelection();
} else if (document.getSelection) {
    SelText = document.getSelection();
} else if (document.selection) {
    SelText = document.selection.createRange().text;
}
$(SelText).css({'background-color' : 'yellow', 'font-weight' : 'bolder'});

}

Des idées?

OriginalL'auteur Chris Armstrong | 2010-07-11