我有一個div
,它有一定的屬性。是否有可能動態地給這個屬性我的元素的高度?例如:通過屬性javascript檢測元素的高度
HTML
<div data-size="this.style.height"></div>
輸出
<div data-size="400px"></div>
我有一個div
,它有一定的屬性。是否有可能動態地給這個屬性我的元素的高度?例如:通過屬性javascript檢測元素的高度
HTML
<div data-size="this.style.height"></div>
輸出
<div data-size="400px"></div>
是,選擇所有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>
您可以設置使用jQuery元素的高度以下,
$(document).ready(function(){
$('[data-size]').each(function(){
$(this).height($(this).attr("data-size"));
});
});
在普通的JavaScript:
[].slice.call(document.querySelectorAll('[data-size]'), 0).forEach(function (elem) {
elem.setAttribute('data-size', window.getComputedStyle(elem, null).height);
});
參考文獻:
我想它會返回:data-size =「400」,不要忘記添加+「px」 – enguerranws 2014-10-29 11:22:56
@enguerranws完成。用小提琴更新代碼! ':P'工程! – 2014-10-29 11:23:44
你實際上不再需要this.style.size了。如果你做了'onload =「this.setAttribute(」data-size「,this.style.size);」'雖然使用純JS獲取對象的innerHeight有點困難:) – somethinghere 2014-10-29 11:25:35