我有一个这样的代码只是为你输入开始部分
$(document).ready(function(){
//Dynamically size wrapper div based on image dimensions
$("#tag-wrapper").css({width: $("#show_img").outerWidth(), height: $("#show_img").outerHeight()});
//Append #tag-target content and #tag-input content
$("#tag-wrapper").append('<div id="tag-target"></div><div id="tag-input"></div>');
想法是在加载页面时应立即发生css属性。但... 当我第一次进入页面时,它不起作用,当我刷新页面时它的工作方式应该如此。任何想法如何解决这个问题?
答案 0 :(得分:1)
如果show_img
设置了宽度和高度,您的代码将有效。
我相信它不适合你的原因是因为在加载DOM时和页面内容之前调用$(document).ready。因此,在那个时间点show_img
尚未加载,因此除非您明确设置它,否则它无法获得宽度和高度。
答案 1 :(得分:1)
当您尝试获取宽度和高度时,可能未加载图像,因此您必须将函数绑定到文档的load event,这将确保在执行之前加载所有图像:
$(document).load(function() {
$('#tag-wrapper').css({
width: $('#show_img').outerWidth(),
height: $('#show_img').outerHeight()
}).append('<div id="tag-target"></div><div id="tag-input"></div>');
});