JavaScript和错误“未打开的元素的结束标记”

时间:2010-04-30 12:50:30

标签: javascript validation

我在验证此类代码时遇到问题

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 个答案:

答案 0 :(得分:6)

您需要转义/以停止它终止脚本元素。

"<\/p>"

验证者应该(通过几个步骤)链接到http://www.htmlhelp.com/tools/validator/problems.html#script

这是SGML的一个奇怪之处,其中定义为包含CDATA的元素(例如脚本元素)将被任何结束标记终止,但如果该结束标记与开始标记不匹配,则它无效

在JavaScript字符串中,"/""\/"是等效的,但在HTML </p><\/p>中不是,所以这可以避免出现某些内容(至HTML解析器)是脚本中的结束标记。

答案 1 :(得分:-1)

<p>不需要结束标记。您可以使用<p>,如果您是强迫症或使用XHTML,我认为您可以使用<p/>,但该标记没有任何内容,因此没有结束标记。