我试图重新调整每个.subgroup
中每个.totalInput
的文本并将它传递给width
属性,我该怎么做?如何在每个元素子集内缩放一个值?
$('div.subgroup').each(function(index, element) {
var maxLength = Math.max.apply(Math, $(".totalInput", this).map(function() {
return $(this).text();
}).get());
$('.totalInput').each(function(index, element) {
var tot = element;
$(element).siblings(".facet-percentage").width(parseInt(($(element).text()/maxLength)) + '%');
});
});
span {display:inline-block}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='group'>
<div class='subgroup'>
<span class='facet-percentage' width=''></span>
<span class='totalInput'>10</span>
<span class='facet-percentage' width=''></span>
<span class='totalInput'>20</span>
<span class='facet-percentage' width=''></span>
<span class='totalInput'>30</span>
</div>
<div class='subgroup'>
<span class='facet-percentage' width=''></span>
<span class='totalInput'>50</span>
<span class='facet-percentage' width=''></span>
<span class='totalInput'>100</span>
<span class='facet-percentage' width=''></span>
<span class='totalInput'>70</span>
</div>
</div>
使得第1子组的输出将变成:
<div class='subgroup'>
<span class='facet-percentage' width='33%'></span>
<span class='totalInput'>10</span>
<span class='facet-percentage' width='66%'></span>
<span class='totalInput'>20</span>
<span class='facet-percentage' width='100%'></span>
<span class='totalInput'>30</span>
</div>
是否要将每个'.facet-percentage'的width属性设置为它后面的第一个'.totalInput'的值? –
如果你依赖于宽度,请确保你有'span {display:inline-block'}' – zer00ne
它应该取其中3个的最大值并重新缩放每个值。因此,例如,第一组将是“10/30”,“20/30”,“30/30”并且以百分比重新缩放。 – Dambo