你好!如何在 ajax 将数据传递给元素后获取元素的高度:$("#contents").html(data) $("#contents").height()?

Hello! How can get the height for an element after ajax pass the data to the element: $("#contents").html(data) $("#contents").height()?

我在 Whosebug 上进行了搜索,我找到了很多答案,但都是错误的。我现在需要先将数据传递给元素,然后调用高度函数,但在数据在元素上具有 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");

    }
});

您需要使用 .ajaxComplete() 来确保元素已完全加载(抱歉英语不好)

试试这个:

$( document ).ajaxComplete(function( event, request, settings ) {
    var modal = $('#YOUR_ID'),
    contents = modal.find(".modal-contents").first();
    alert(contents.height());
});