无法在“MutationObserver”上执行“observe”:参数 1 不是“节点”类型选择2()

问题描述

我尝试对通过 ajax 接收的动态数据使用 select2,作为回应,我收到了上面写的错误。 我究竟做错了什么 ? 这是代码

$(document).on('change','[name="country"]',function () {
    var vehicle_id = $(this).val();
    $.ajax({
        type: 'GET',url: '{{ route('select_vehicle') }}',data: { vehicle_id: vehicle_id },success: function (data) {
            $('.dyn').html(data);
        }
    });
    //  $('.dyn').on('DOMNodeInserted','select',function () {$(this).select2();});
    var target = $('.dyn'); //elm = $('.select2');
    const config = { childList: true };
    if (target) {
        let observer = new MutationObserver(function (mutations) {
            mutations.forEach(function (mutation) {
                if (mutation && mutation.addednodes) {
                    mutation.addednodes.forEach(function (elm) {
                        if (elm && elm.nodeName === "select") { $(elm).select2(); }
                    });
                }
            });
        });
        observer.observe(target,config);
    }
});

感谢您的关注。

解决方法

我解决了这个问题。我在动态结果中放入了 id #inits 的新 div。它有效!感谢您的关注。

 $('#inits select.select2').select2();}