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

And*_* K. 3 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();

}
Run Code Online (Sandbox Code Playgroud)

元素"P"的结束标记未打开

怎么了?

Que*_*tin 6

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

"<\/p>"
Run Code Online (Sandbox Code Playgroud)

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

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

在JavaScript字符串,"/"并且"\/"是等价的,但在HTML </p><\/p>都没有,所以这可以让你避免出现(在HTML解析器)在你的脚本结束标记的东西.