Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.06.2011, 02:45
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Изменить содержимое текстового узла
<div id="div">Text</div>
<script>
textNode= document.getElementById("div").firstChild;
textNode.nodeValue= '<b>' + textNode.nodeValue + '</b>'; // выведет "<b>Text</b>"
</script>


Как сделать так, чтобы текст был жирным, а не чтобы выводился тег?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)

Последний раз редактировалось trikadin, 27.06.2011 в 02:49.
Ответить с цитированием
  #2 (permalink)  
Старый 27.06.2011, 03:58
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

для того чтобы преобразовать HTML-строку в DOM-объекты, присвойте временному объекту DOM(создается при помощи document.createElement) свойство innerHTML, а затем перебрав все его childNodes поместите их в необходимое место, например с помощью appendChild
Ответить с цитированием
  #3 (permalink)  
Старый 27.06.2011, 04:05
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Спасибо, Gvozd)

Поясню. У меня есть объект. Мне нужно его вставить в определённое место текстового узла. Совсем не факт, что в начало. Как вставить в середину?

Причём заранее неизвестно, где элемент находится, есть ли у него сестринские элементы и т.д.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)

Последний раз редактировалось trikadin, 27.06.2011 в 04:14.
Ответить с цитированием
  #4 (permalink)  
Старый 27.06.2011, 04:20
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Мне пришло в голову это:

function(insertNode, textNode, insertPoint) {
 fr= document.createDocumentFragment();
 fr.appendChild(document.createTextNode(textNode.nodeValue.substr(0, insertPoint)); // вставляем первую часть текстового узла
 fr.appendChild(insertNode);// вставляем сам узел
 fr.appendChild(document.createTextNode(textNode.nodeValue.substr( insertPoint)) //вставляем вторую часть.
 textNode.parentNode.insertBefore(fr, textNode); // вставляем получившуюся хрень
 textNode.parendNode.removeChild(textNode);//удаляем исходный узел. Получилось, что мы заменили исходный текст на два текста с элементом между ними.


Короче можно?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)

Последний раз редактировалось trikadin, 27.06.2011 в 07:59.
Ответить с цитированием
  #5 (permalink)  
Старый 27.06.2011, 04:25
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

да, вроде особо короче и не сделаешь
Ответить с цитированием
  #6 (permalink)  
Старый 27.06.2011, 04:31
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Ясно... Ну ладно.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #7 (permalink)  
Старый 14.11.2011, 03:43
Аспирант
Отправить личное сообщение для observer Посмотреть профиль Найти все сообщения от observer
 
Регистрация: 11.11.2011
Сообщений: 96

Сообщение от trikadin Посмотреть сообщение
<div id="div">Text</div>
<script>
textNode= document.getElementById("div").firstChild;
textNode.nodeValue= '<b>' + textNode.nodeValue + '</b>'; // выведет "<b>Text</b>"
</script>


Как сделать так, чтобы текст был жирным, а не чтобы выводился тег?
Об этом вы спрашивали в июне сего года.

Теперь вы профессор (или уже нинзя?), поздравляю!
Ответить с цитированием
  #8 (permalink)  
Старый 14.11.2011, 03:48
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

observer, а я быстро учусь. Если вы лишены этого качества - простите, ничем не могу помочь) Кстати, я предлагаю вам ещё попытаться поддеть меня по поводу моего возраста - ведь мне 16) Правда, мне вряд ли удастся сравниться с таким взрослым вами?

И кстати, мне приятно) Вы не поленились просмотреть список моих тем - а это какое-никакое, но признание.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не выводится содержимое ячеек таблицы SER Events/DOM/Window 2 23.06.2011 17:48
По клику на ссылку меняем содержимое внутри блока goooooch Общие вопросы Javascript 6 26.01.2011 15:25
Изменить содержимое элементов, Или удалить сами улементы muratti Events/DOM/Window 7 01.12.2010 08:38
Получение текстового содержимого из всех вложенных DOM EmDmAl Events/DOM/Window 8 02.12.2009 23:38
Не могу изменить содержимое innerHTML в ie djon-killer Events/DOM/Window 24 02.09.2009 13:17