Замена всех <br>на <br /> - PullRequest
       20

Замена всех <br>на <br />

2 голосов
/ 13 октября 2009

Я использую это (jQuery), чтобы заменить все <br> с <br />, чтобы убрать ошибки проверки:

$("<br>").replaceAll("<br />");

но это не уменьшает ошибок валидации. Проверяет ли валидатор первоисточник?

Ответы [ 5 ]

11 голосов
/ 13 октября 2009

JQuery будет срабатывать только после того, как документ будет обработан. Процесс загрузки страницы будет происходить следующим образом

  1. Запрос на страницу сделан
  2. Страница отправляется на клиентскую машину
  3. Страница загружается
  4. Страница подтверждена
  5. JQuery Fires
  6. теги разрыва заменены

Я бы порекомендовал просто найти и заменить на всем сайте все теги <br> и заменить их на <br />

5 голосов
/ 13 октября 2009

Валидаторы не запускают JavaScript. Они анализируют HTML и сравнивают его со схемой для объявленного типа документа.

Вам необходимо заменить <br> в исходных файлах / представлениях, а не на стороне клиента.

3 голосов
/ 13 октября 2009

Нет причин делать это. XHTML мертв. Переключите ваш doctype на html 5 и вернитесь к счастью, используя незамкнутые теги:

<!DOCTYPE html>
1 голос
/ 13 октября 2009

HTML-код анализируется в модели DOM (шаг 3 в посте Гэри), где <br> и <br /> считаются равными. Добавление элемента на HTML-страницу через JavaScript, независимо от того, используете ли вы jQuery или любым другим способом, проанализирует ваш элемент и добавит его в DOM. То, как выглядел внутренний HTML, больше не важно для браузера.

Вы можете убедиться в этом сами, если используете innerHTML. Поместите следующее в любой документ HTML (неважно, XHTML, HTML4 или HTML 3.2):

<p onclick="alert(this.innerHTML);">BR: <br />self close</p>
<p onclick="alert(this.innerHTML);">BR: <br>open</p>
<p onclick="alert(this.innerHTML);">BR: <BR>open capitals</p>

Загрузите его в браузер и нажмите на него.

В IE все три варианта отображаются как "<BR>", в FF, Chrome, Opera все три варианта отображаются как "<br>". Вот как браузеры представляют HTML-код внутри. Использование действительного HTML или недействительного HTML с JavaScript не изменит это. Хуже того: внутреннее HTML-представление не является допустимым XHTML, даже если документ является!

0 голосов
/ 13 октября 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...