appendChild не является функцией, использующей $.confirm()
Добрый день, я изо всех сил пытаюсь решить эту проблему. Я потратил 1 день, чтобы попытаться решить эту проблему, но мне не повезло.
Я пытаюсь добавить дочерний элемент в функцию onContentReady в $.confirm(), но, похоже, у меня не работает. вот код
HTML
<button onclick="btnclick()">click</button>
Javascript
function btnclick() {
// body...
$.confirm({
title:'test',
content: '<div class=".confirm_body"> </div>',
onContentReady:function() {
var body = this.$content.find('.confirm_body');
var h3 = document.createElement('h3');
h3.appendChild(document.createTextNode("child"));
body.appendChild(h3);
}
});
}
исключение
jquery.min.js:2 jQuery.Deferred exception: body.appendChild is not a function TypeError: body.appendChild is not a function
at Jconfirm.onContentReady (http://localhost/NMSCST_CLINIC_INFORMATION_SYSTEM/:154:8)
at Array.<anonymous> (http://localhost/NMSCST_CLINIC_INFORMATION_SYSTEM/assets/jquery-confirm-v3.3.0/jquery-confirm.min.js:10:6129)
at j (http://localhost/NMSCST_CLINIC_INFORMATION_SYSTEM/assets/vendor/jquery/jquery.min.js:2:29568)
at k (http://localhost/NMSCST_CLINIC_INFORMATION_SYSTEM/assets/vendor/jquery/jquery.min.js:2:29882) undefined
r.Deferred.exceptionHook @ jquery.min.js:2
мой код не отображает ребенка
Что я должен делать? Пожалуйста помоги
2 ответа
Решение
Я полагаю, ваш селектор неверен в this.$content.find('confirm_body')
, если confirm_body
является id
элемента затем использовать #
, лайк,
...
onContentReady:function() {
var body = this.$content.find('.confirm_body');
var h3 = document.createElement('h3');
h3.appendChild(document.createTextNode("child"));
body.append($(h3)); //make jQuery object for h3 element node & use append
}
...
body
это объект jQuery, а не объект DOM, поэтому вы должны использовать
body.append($(h3));
Также было бы неплохо быть более последовательным, придерживаться всех методов jQuery, а не смешивать нативные элементы DOM и объекты jQuery.