Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Странное поведение jQuery.html()

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Anguis
Отправлено: 24 Ноября, 2015 - 19:40:02
Post Id



Частый гость


Покинул форум
Сообщений всего: 253
Дата рег-ции: Июнь 2012  


Помог: 2 раз(а)




Господа, прошу вашего внимания! Решил вынести это в отдельную тему, как нестандартное поведение то ли браузера, то ли JQuery, то ли javascript...
Предлагаю вам провести маленький эксперимент.
Выполните вот этот код с jQuery
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div onClick="alert($(this).html())"><p><p>Мы работаем, вы отдыхаете!</p></p></div>
  3.  

У меня результат во всех тестируемых браузерах:
CODE (html):
скопировать код в буфер обмена
  1. <p></p><p>Мы работаем, вы отдыхаете!</p><p></p>


Почему так? Кто это делает и как избавиться от этих преобразований?
(Добавление)
Хм... на чисто js результат тот же

CODE (html):
скопировать код в буфер обмена
  1. <div onClick="alert(this.innerHTML)"><p><p>Мы работаем, вы отдыхаете!</p></p></div>


Что же это за преобразования такие?... И как все таки взять именно тот html, который есть в элементе без таких преобразований?
 
 Top
andrewkard
Отправлено: 24 Ноября, 2015 - 20:36:55
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Anguis
Цитата:

Элемент <p> является блочным, всегда начинается с новой строки, абзацы текста идущие друг за другом разделяются между собой отбивкой. Величиной отбивки можно управлять с помощью стилей. Если закрывающего тега нет, считается, что конец абзаца совпадает с началом следующего абзаца или другого блочного элемента.
 
 Top
Anguis
Отправлено: 24 Ноября, 2015 - 20:47:02
Post Id



Частый гость


Покинул форум
Сообщений всего: 253
Дата рег-ции: Июнь 2012  


Помог: 2 раз(а)




andrewkard, ок. Допустим, это объясняет интерпретацию браузером кода <p><p></p></p>

Вопрос дальше, а есть ли способ с помощью js выдернуть фактический html, а не интерпретированный?
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Ноября, 2015 - 22:32:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Anguis пишет:
фактический html, а не интерпретированный

Пэ внутри пэ нельзя, иначе он думает что это не пэ внутри пэ, а то что тебе показали выше.
Anguis пишет:
Что же это за преобразования такие?
Типа рога растут оттудова: http://php.net/manual/ru/class.d...nt.props.recover
Спойлер (Отобразить)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB