一个不知道为什么的问题:
<head>
    <title>practice.html</title>

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
     <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
    
  
   
    
    <script type="text/javascript"> 
    /*圆角*/
    $(function() {
    
       
         
         $("#op").each(function(){/*setting div auto grouth*/
           
           var h1 = $(this).height();
           alert(h1);
            var h2= this.scrollHeight;
            if(h1>h2){
             $(this).height(h1);
             return false;
           }
        });
    });
    
 



    </script>
   
<style type="text/css">
    @IMPORT url("basic.css");
body {
background-image:url(image/bodyBg.gif)  ;
      height:100%;
text-align:center;
}

#op {

background-color: gray; 
filter: Alpha(opacity=30);   
    -moz-opacity:.3;   
    opacity:0.3;    
margin:0 auto;  
width:300px;
height:100px;
    }
 
#text {
 padding-top:10px;
 padding-right:10px;
 word-wrap:break-word;
 }
 
h1, h6{

font-size:20px; 
color:block;
text-align: right; 
padding-right:10px;
  }
h6{
font-size:15px;
}
#logo img{
position:absolute;
top:10px;
left:21px;
}
 
 </style>
  </head>
  
  <body>
  
   <div id="logo">
   <img src="image/logo.png"></img>
   </div>
  
    
<div id="op"> 
<div id="text">
<h1>Ni Hao world</h1>
<h6>&copy; 2011</h6>
<p>
 assssssdfffsdgfjksdgajkdfjkakjdsfasdjk
dasgafgffahhhhhhhhhhhffffhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
</p>
</div>
</div>
     
  </body>
在ff中测试 加了alert(h1) div的高度才会变  帮忙看看。

解决方案 »

  1.   

    或者
    $(document).ready(function () {
      //你的就是代码
    });
      

  2.   

    效果还是一样?不知道是不是 each 用错了? 我加了一个 alert(this ) 就只返回一个div HtmlDoucment 为什么里面的<h1><h6><p> 都不会遍历吗?
      

  3.   

    each的话一般用于数组什么之类的吧,你别对唯一的id做each啊
    那样肯定不会循环啊,把id换成class什么的
    $(".test").each(function(){
      
    })
      

  4.   

    $("#op div").each(function(){/*setting div auto grouth*/
                  
                  var h1 = $(this).height();
                  alert(h1);
                   var h2= this.scrollHeight;
                   if(h1>h2){
                       $(this).height(h1);
                       return false;
                  }
            });
      

  5.   

    是不是在#op 后面加了个div
      

  6.   

    本来就有div啊。我就是要那个div的高度的呀。
      

  7.   


     $(function() { = $(document).ready(function () { 是缩写
      

  8.   

    楼主each用错了,循环了一个id=‘op’的元素  把你要循环的元素放到选择器内
      

  9.   

    //楼主是想这样吗?
    $(document).ready( function() {
        $("#op").height($("#text").outerHeight());
    });
      

  10.   

    我的意思是这样:      $(document).ready(function(){
          $("#op").each(function(){
              //这里执行的是什么?也就是这么写有什么含义?是把#op里面的所有元素都遍历吗?怎么查看遍历到了什么?
    });
    })
      

  11.   

    $("#op")是一个对象 ,each()没有什么意义吧 。
    $("#op").children()才是它的子元素 。
      

  12.   

    恩。那如果我用javascript 写我题目的需求要怎么写呢。例如:<div style="width:300px ; height:200px ;background-color:blue">
    <blockquote>一段文字(可能长也可能短)</blockquote>
    </div>怎么样能使得文字的长短 div的 height 也能跟着改变呢?
      

  13.   

    是不是这样的啊?
    $(function() {
                $("#op").each(function() {
                    var h1 = $(this).height();
                    var h2 = this.scrollHeight;
                    if (h2 > h1) {
                        $(this).height(h2);
                        return false;
                    }
                });
            });
      

  14.   

    不是说不需要用id 来each 吗?
      

  15.   

    建议楼主仔细的看看jq的api
    下载地址
      

  16.   

    each是针对你前面所选择出来的jquery元素作的循环
      

  17.   


    $(".test").each 意思是对 $(".test")返回的JQUERY 元素对象数组  。
    当然你写成ID也可以。。只是只有一个元素对象而已。。