Как обрабатывать входные параметры при генерации динамического 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>
Может быть, эта скрипка решит вашу проблему. Прежде чем получить ввод от пользователя, конвертируйте его и сбрасывайте при привязке