我的div
有一个属性。是否可以动态赋予此属性元素的高度?例如:
HTML
<div data-size="this.style.height"></div>
输出
<div data-size="400px"></div>
答案 0 :(得分: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>
答案 1 :(得分:2)
在纯JavaScript中:
[].slice.call(document.querySelectorAll('[data-size]'), 0).forEach(function (elem) {
elem.setAttribute('data-size', window.getComputedStyle(elem, null).height);
});
参考文献:
答案 2 :(得分:1)
您可以使用jQuery设置元素的高度,如下所示
$(document).ready(function(){
$('[data-size]').each(function(){
$(this).height($(this).attr("data-size"));
});
});