Здравствуйте! Как получить высоту для элемента после того, как ajax передаст данные в элемент: $("#contents"). Html(data) $("#contents"). Height()?

У меня есть поиск по stackru, и я нашел много ответов на это, но все не так. Теперь мне нужно передать сначала данные в элемент, а затем вызвать функцию высоты, но все еще не работает после того, как данные имеют HTML на элементе.

$.ajax({
    url: el.attr("data-action"),
    dataType: "html",
    type: "GET",
    contentType: "html",
    success: function(data) {
        var id = el.attr('data-modal');

        $("body").append("<div id='" + id + "' class='modal'><div class='modal-contents'>" + data + "</div></div>");

        var modal = $("#" + id);

        contents = modal.find(".modal-contents").first();

        alert(contents.height());

        modal.addClass("visible");

        contents.slideDown("slow");

    }
});

1 ответ

Решение

Вам нужно использовать.ajaxComplete(), чтобы убедиться, что элемент полностью загружен (извините за плохой английский)

попробуй это:

$( document ).ajaxComplete(function( event, request, settings ) {
    var modal = $('#YOUR_ID'),
    contents = modal.find(".modal-contents").first();
    alert(contents.height());
});
Другие вопросы по тегам