jquery .css()仅设置找到的第一个匹配样式值

时间:2013-04-02 17:32:36

标签: jquery dynamic css

这个对我没有任何意义。

我试图使用jquery .css()根据窗口高度设置某些按钮的“最小高度”。

无论出于何种原因,它只设置FIRST按钮匹配的最小高度,但有16个匹配的按钮。

http://jsfiddle.net/VDtgT/20/embedded/result/

“#tab-btn-2”是问题所在。这是我正在使用的JavaScript:

<script>
$( document ).ready( function(){
  setMaxHeight();
  $( window ).bind( "resize", setMaxHeight ); 

  function setMaxHeight() {
    $( "#tab-content-1" ).css( "max-height", ( $( window ).height() * 0.67 | 0 ) + "px" );
    $( "#tab-content-1" ).css( "min-height", ( $( window ).height() * 0.67 | 0 ) + "px" );
    $( "#tab-content-2" ).css( "max-height", ( $( window ).height() * 0.67 | 0 ) + "px" );
    $( "#tab-content-2" ).css( "min-height", ( $( window ).height() * 0.67 | 0 ) + "px" );
    $( "#tab-content-3" ).css( "max-height", ( $( window ).height() * 0.67 | 0 ) + "px" );
    $( "#tab-content-3" ).css( "min-height", ( $( window ).height() * 0.67 | 0 ) + "px" ); 
    $( "#tab-btn-2" ).css( "min-height", ( $( window ).height() * 0.67 | 0 ) + "px" );

  }

});
</script>

2 个答案:

答案 0 :(得分:3)

ID是唯一的,jQuery只会找到具有特定ID的第一个元素,因为应该只有一个。

您需要使用课程。

$( ".tab-btn-2" ).css( ....

答案 1 :(得分:0)

一个选项是为每个按钮指定相同的类名,并使用该类设置最小高度(与id相对)。您的ID对于页面上的每个元素都应该是唯一的。

<input type=button id=whatever class="tab-btn-2" />
...
$( ".tab-btn-2" ).css( "min-height", ( $( window ).height() * 0.67 | 0 ) + "px" );