我試圖重新調整每個.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