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



我在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");
    }
});

你需要使用 .ajaxComplete(( 来确保元素被完整加载(对不起,英语不好(

试试这个:

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

最新更新