JavaScript и ошибка «конец тега для элемента, который не открыт» - PullRequest
3 голосов
/ 30 апреля 2010

У меня проблема с проверкой такого кода

function show_help_tip(event, element) {

  var $e = $(element);

  var pos = $e.offset();

  $('.body-balloon',$help_tip_div).html($(' <p>&nbsp;</p> ').html(element.getAttribute('title')));

  $help_tip_div.css({position:'absolute',top:530,left:pos.left+$e.width()-20}).show();

}

конечный тег для элемента "P", который не открыт

Что не так?

Ответы [ 2 ]

6 голосов
/ 30 апреля 2010

Вам нужно экранировать /, чтобы остановить его, заканчивая элемент script.

"<\/p>"

Валидатор должен связать (через пару шагов) с http://www.htmlhelp.com/tools/validator/problems.html#script

Это странность SGML, в которой элемент, определенный как содержащий CDATA (например, элемент сценария), будет завершен любым конечным тегом, но если этот конечный тег не соответствует начальному тегу, то он недопустим .

В строке JavaScript "/" и "\/" эквивалентны, но в HTML </p> и <\/p> нет, поэтому это позволяет избежать того, что что-то, что кажется (для анализатора HTML) концом тег в вашем скрипте.

0 голосов
/ 30 апреля 2010

<p> не требует конечного тега.Вы можете использовать <p>, и я думаю, что вы можете использовать <p/>, если вы OCD или используете XHTML, но этот знак не имеет никакого содержимого, поэтому нет конечного тега.

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