jQuery(document).ready()是一个异步函数吗?

时间:2011-02-11 11:48:30

标签: jquery jquery-selectors

标题中我的问题背后的问题是:

jQuery( document ).ready( function() {
    var height = jQuery( "#current-image" ).css( "height" ); // Retrieve height
    jQuery( '#prev' ).css( 'height', height + 'px' );        // Set element to that height
});

首先,我检索元素“current-image”的高度。然后我想将该高度设置为另一个元素,称为“prev”。

  • 元素“prev”的默认高度为200像素。
  • 元素“current-image”的高度为350像素
  • 我希望元素“prev”的高度为350 px

元素“prev”保持原始高度200px。当我发出警报(身高);两行代码之间的语句变量确实是350,但它从不设置“prev”元素的高度。我无法弄清楚我做错了什么,因为这是一个如此简单的代码......

2 个答案:

答案 0 :(得分:3)

高度应该包含“350px”而不是“350”,因为你得到的是这个元素的CSS值,而不是计算出的高度(没有单位)。所以你不需要添加+'px',因为你显然会得到“350pxpx”这是无效的,因此高度不会改变。

答案 1 :(得分:2)

请尝试使用.height()。这样您就不必处理像素单元,因为该方法假设为像素:

jQuery(document).ready(function() {
    var height = jQuery('#current-image').height();
    jQuery('#prev').height(height);
});