Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Изменение стиля текста записанного в переменную (https://javascript.ru/forum/dom-window/9778-izmenenie-stilya-teksta-zapisannogo-v-peremennuyu.html)

Vulkan 05.06.2010 10:31

Изменение стиля текста записанного в переменную
 
Здравствуйте, есть функция записи в переменную выделенного, она работает на отлично:
<script>
$selection = {
    getText : function() {
        var txt = '';
        if (txt = window.getSelection) // Not IE, используем метод getSelection
            txt = window.getSelection().toString();
        else // IE, используем объект selection
            txt = document.selection.createRange().text;
        return txt;
      
    }
}
function gu() {
alert($selection.getText())
}  
</script>

<div onmouseup="gu()">dddssssssss</div>

А можно ли сделать изменения типа текста записанного в $selection.getText() ? Например что-то наподобие $selection.getText().style.fontWeight ?

exec 05.06.2010 10:53

Пока в голову приходит только это:

var body = document.body, sel = $selection.getText();
body.innerHTML = body.innerHTML.replace(sel, '<span style="…">' + sel + '</span>');

Vulkan 05.06.2010 11:03

exec, очень интересное решение:) Спасибо огромное, а у кого ещё есть какое решение?

exec 05.06.2010 11:30

Вспомнил — в CSS есть псевдокласс selection, определяющий стиль выделенного текста. Пример использования:

::selection { color: red; }

Vulkan 05.06.2010 11:43

Цитата:

Сообщение от exec (Сообщение 57973)
Вспомнил — в CSS есть псевдокласс selection, определяющий стиль выделенного текста. Пример использования:

::selection { color: red; }

Ну это к моему случаю не очень подходит, так как может быть что в тексте будет несколько стилей, спасибо.

x-yuri 05.06.2010 11:57

Цитата:

Сообщение от Vulkan
А можно ли сделать изменения типа текста записанного в $selection.getText() ? Например что-то наподобие $selection.getText().style.fontWeight ?

к строке не может быть применен css. После того, как ты вставишь эту строку в какой-то элемент, применяй css сколько угодно


Часовой пояс GMT +3, время: 07:02.