为什么我不能用 JQuery .html 添加 <br />?

新手上路,请多包涵

为什么这段代码有效:

 $('div.error_container').html('<div class="error">No more foo allowed</div>');

但是这段代码会导致错误:

 $('div.error_container').html('<div class="error">No more foo allowed<br /></div>');

我试过将 <br /> 放在 </div> 标签之前和之后,同样的错误。我试过将它从 <br /> 更改为 <br> 。 Chrome 总是在检查器中显示以下内容:

 Uncaught SyntaxError: Unexpected token ILLEGAL

原文由 Paul Tomblin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 382
2 个回答

尝试将其分解成一条链:

 var $div = $('<div class="error"></div>').html('No more foo allowed')
                                         .append('<br />');
$('div.error_container').html($div);

原文由 karim79 发布,翻译遵循 CC BY-SA 2.5 许可协议

我尝试了以下 SSCCE ,它在 IE、FF、Safari、Opera 和 Chrome(所有最新版本)中完美运行。

因此,您的问题可能与您声明的文档类型或使用旧版本的 Chrome 有关。

 <!doctype html>
<html lang="en">
    <head>
        <title>SO question 2173556</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
        <script>
            $(document).ready(function() {
                $('#foo').html('<div>foo<br>foo</div>');
                $('#bar').html('<div>bar<br/>bar</div>'); // Yes, that's illegal in HTML strict. Just to test :)
            });
        </script>
        <style>

        </style>
    </head>
    <body>
        <div id="foo"></div>
        <div id="bar"></div>
    </body>
</html>

原文由 BalusC 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题