w3schools - jquery render




왜 JQuery.html과 함께<br/>을 추가 할 수 없습니까? (3)

나는 다음 SSCCE를 시도했고 그것은 IE, FF, 사파리, 오페라 및 크롬 (모든 최신 버전)에서 완벽하게 작동합니다.

따라서 문제는 신고 한 Doctype 또는 이전 버전의 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>

이 코드가 작동하는 이유는 다음과 같습니다.

$('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

나는 또한 관련이 있는지 없는지 비슷한 문제가 있었다. 나는 CMS를 위해 C # mvc를하고 있었다.

그래서 나는 사용자로부터 일부 HTML 입력을 "@Html.Raw(Modal.Content)" 사용하여 그들을 표시합니다.

Modal.Content 내부에는 <br /> 이 있었고 jquery .html("@Html.Raw(Modal.Content)") 사용하여 html에 해당 내용을 추가하는 데 문제가있었습니다. .html("@Html.Raw(Modal.Content)")

그러나 결국 문제는 아니었다 <br />

보이지 않는 \n 있으므로 .html("@Html.Raw(Modal.Content).Replace("\n", "")") 문제가 해결되었습니다. <br> 은 내 콘텐츠에 남아 있으며 예상대로 작동합니다.


체인으로 분해 해보십시오.

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




dom