0

美好的一天,我正在努力解决这个问题。我花了 1 天时间试图解决这个问题,但对我来说没有运气。

我试图在 $.confirm() 上的 onContentReady 函数中附加一个孩子,但似乎对我不起作用。这是代码

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

我的代码不显示孩子。

我应该怎么办?请帮忙

4

2 回答 2

1

我猜你的选择器不正确this.$content.find('confirm_body'),如果confirm_bodyid元素,那么使用#,比如,

...
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
}
...
于 2018-03-06T04:02:22.933 回答
1

body是一个 jQuery 对象,而不是一个 DOM 对象,所以你应该使用

body.append($(h3));

保持一致也是一个好主意,坚持使用所有 jQuery 方法,而不是混合原生 DOM 元素和 jQuery 对象。

于 2018-03-06T04:04:59.047 回答