2014-10-29 33 views

回答

2

是,選擇所有data-size屬性的元素,你可以這樣做:

$(document).ready(function(){ 
 
    $('[data-size]').each(function(){ 
 
    $(this).attr('data-size', $(this).outerHeight() + "px"); 
 
    }); 
 
});
div {border: 1px solid #ccc;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div data-size="this.style.size"> 
 
    <div style="height: 300px;"></div> 
 
</div> 
 
<div data-size="this.style.size"> 
 
    <div style="height: 25px;"></div> 
 
</div> 
 
<div data-size="this.style.size"> 
 
    <div style="height: 50px;"></div> 
 
</div>

+0

我想它會返回:data-size =「400」,不要忘記添加+「px」 – enguerranws 2014-10-29 11:22:56

+0

@enguerranws完成。用小提琴更新代碼! ':P'工程! – 2014-10-29 11:23:44

+0

你實際上不再需要this.style.size了。如果你做了'onload =「this.setAttribute(」data-size「,this.style.size);」'雖然使用純JS獲取對象的innerHeight有點困難:) – somethinghere 2014-10-29 11:25:35

1

您可以設置使用jQuery元素的高度以下,

$(document).ready(function(){ 
     $('[data-size]').each(function(){ 
      $(this).height($(this).attr("data-size")); 
     }); 
}); 
相關問題