jquery .css()问题...请帮忙

时间:2010-02-07 21:24:06

标签: jquery css

我有一个这样的代码只是为你输入开始部分

$(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属性。但... 当我第一次进入页面时,它不起作用,当我刷新页面时它的工作方式应该如此。任何想法如何解决这个问题?

2 个答案:

答案 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>');
});