Как обрабатывать входные параметры при генерации динамического HTML из функции jquery

Я использую функцию ниже для создания динамического HTML.

function (content) {
    $('#divMessage').append('<span>'+ content+ '</span>');
}

Здесь я добавляю контент в div с идентификатором divMessage.

Здесь содержимое входного параметра может быть любым текстом, переданным этой функции.

Я сталкиваюсь с проблемой, когда я передаю данные, содержащие элементы HTML, поскольку это искажает HTML. Я не могу вставить его здесь, так как он также добавляется в редактор переполнения стека.

Как я могу решить эту проблему, TIA.

Он должен добавлять то, что передается, не хочет преобразовывать html-теги в html, если html-тег с данными передается, то html-тег с данными должен быть выходным.

2 ответа

Чтобы решить эту проблему, вам нужно только перенести текст контента в HTML

Просто сделай это

    content= $.parseHTML(content);
$('#divMessage').append('<span>'+ content+ '</span>');

Надеюсь, это поможет!

Вы можете передать значение HTML, как это.

function AddContent(content) {
    $('#divMessage').append('<span>'+ content+ '</span>');
}
$("#divAppendMessage").on("click", function() {
    //$('#divMessage').html(''); // If you want to clear div before append
   var html='';
   html+='<h1>My new message</h1>';// You can add mark up like this.Be sure for closing tag.
   AddContent('<h1>My new message</h1>');// Pass html without generate markup as OP say on comment.
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='divMessage'>
</div>
<button id='divAppendMessage'>Add Message</button>

Может быть, эта скрипка решит вашу проблему. Прежде чем получить ввод от пользователя, конвертируйте его и сбрасывайте при привязке

Другие вопросы по тегам