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

时间:2017-04-05 14:09:09

标签: jquery ajax get height after-effects

我搜索了stackoverflow,我找到了很多答案,但一切都是错的。我现在需要先将数据传递给元素,然后调用height函数,但是在数据上有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 个答案:

答案 0 :(得分:1)

你需要使用.ajaxComplete()来确保Element已完成加载(抱歉英语不好)

试试这个:

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