Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.05.2009, 22:35
Интересующийся
Отправить личное сообщение для ageent.ua Посмотреть профиль Найти все сообщения от ageent.ua
 
Регистрация: 09.01.2009
Сообщений: 18

Не пашет html()
Не работает функция html("") если в строчке будет перевод строки.
Работает
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>
  $(document).ready(function(){
    $("div").html("<span class='red'>Hello <b>Again</b></span>");
  });
  </script>
  <style>
  .red { color:red; }
  </style>
</head>
<body>
  <span>Hello</span>
  <div></div>
  <div></div>
  <div></div>
</body>
</html>

Не работает
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>
  $(document).ready(function(){
    $("div").html("<span class='red'>Hello 
<b>Again</b></span>");
  });
  </script>
  <style>
  .red { color:red; }
  </style>
</head>
<body>
  <span>Hello</span>
  <div></div>
  <div></div>
  <div></div>
</body>
</html>


Почему? Какие есть методы решения?
Ответить с цитированием
  #2 (permalink)  
Старый 03.05.2009, 23:44
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Перевод строки обозначается символами \r\n
Только странно как то, в алерте работает а в innerHTML нет:
var str = '<span class="red">Hello\r\n<b>Again</b></span>'
alert(str);
div1.innerHTML = str;


Остается только тег br.
Ответить с цитированием
  #3 (permalink)  
Старый 04.05.2009, 01:22
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
Только странно как то, в алерте работает а в innerHTML нет
Поиск выражения в тексте
но самый главный вопрос, имхо, это зачем вставлять \r\n в строку? Может речь о том, как продолжить длинную строку на следующей строке? Тогда в js это делается так:
var s = 'line 1' +
    'line 2';
Ответить с цитированием
  #4 (permalink)  
Старый 04.05.2009, 01:31
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от x-yuri
но самый главный вопрос, имхо, это зачем вставлять \r\n в строку?
Там тег span.

Сообщение от x-yuri
это делается так:
Можно проще:
var s = 'line 1\
line 2';


Только компрессоры на этом тупят.
Ответить с цитированием
  #5 (permalink)  
Старый 04.05.2009, 01:34
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
Там тег span
ну и что?
Ответить с цитированием
  #6 (permalink)  
Старый 04.05.2009, 01:48
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

span должен (вроде как) отображать \r\n так же как и <br />.
Если вставлять \r\n на сервере то он (span) так и делает.
Ответить с цитированием
  #7 (permalink)  
Старый 04.05.2009, 01:53
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
span должен (вроде как) отображать \r\n так же как и <br />.
O_o откуда такая информация? На всякий случай проверил в html, xhtml, ie 7, opera 9, ff 3 следующий код:
<div><span>a
b</span></div>

через пробел выводится
Ответить с цитированием
  #8 (permalink)  
Старый 04.05.2009, 02:01
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от x-yuri
через пробел выводится
Зашибись. Совсем недавно с этим сталкивался и тупил. И вот сейчас опять. С textarea путаю.
Ответить с цитированием
  #9 (permalink)  
Старый 04.05.2009, 09:28
Интересующийся
Отправить личное сообщение для ageent.ua Посмотреть профиль Найти все сообщения от ageent.ua
 
Регистрация: 09.01.2009
Сообщений: 18

Как я люблю php
html('<?php echo preg_replace("/\r|\n/is", "","d в
 в")?>')
Ответить с цитированием
  #10 (permalink)  
Старый 04.05.2009, 21:50
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

pan zboczeniec?
html('d в'+
     ' в')

или
html('d в\
 в')

Последний раз редактировалось x-yuri, 04.05.2009 в 21:52.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переменные в HTML ibcmsm Общие вопросы Javascript 7 27.09.2011 13:35
Mootools. Вставить html zeman Библиотеки/Тулкиты/Фреймворки 4 31.03.2009 10:24
AJAX. Возвращение массива HTML Neil AJAX и COMET 9 12.02.2009 15:00
Неверный результат в AJAX с получением HTML Raynor AJAX и COMET 3 17.12.2008 17:38
На входе HTML получить на выходе просто текст, как? Dmitry Общие вопросы Javascript 2 25.08.2008 09:42