изменить задний цвет части текста с помощью javascript?

у меня есть часть текста с тегами html, например

<b>something</b>

я выделяю какую-то часть текста, например, «некоторые».

с getSelection().getRangeAt(0); я получаю положение курсора (текстовый курсор), поэтому я знаю, какую часть текста я выбрал.

у меня есть startOffset и endOffset. но проблема в том, что startOffset и endOffset игнорируют html-теги, поэтому числа, которые они возвращают, неплохие, и тогда я не знаю, к какой части текста я должен применить

<span style="background-color: somecolor ">some</span>

любые идеи, как это решить? Благодарность


person mm.    schedule 25.09.2009    source источник
comment
только что нашел это и собираюсь прочитать это, возможно, поможет quirksmode.org/dom/range_intro.html   -  person mm.    schedule 25.09.2009


Ответы (1)


person    schedule
comment
да, но что вы будете делать, если в этом теге b нет идентификатора? - person mm.; 25.09.2009
comment
как вы получаете свою строку и из какого элемента управления? - person Khodor; 25.09.2009
comment
с выбором и диапазоном, пользователь выбирает текст с помощью мыши - person mm.; 25.09.2009
comment
хорошо, используйте функцию getSelection() jsReplace() { var str= document.getSelection() /* предположим, что вы могли бы попробовать window.getSelection и document.selection*/ str=str.replace('some', '‹span style =background-color: somecolor ›some‹/span›') } и примените функцию onmousedown - person Khodor; 25.09.2009