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