Мои td
теги не имеют id
или чего-либо уникального для их идентификации.
Это не проблема, так как вы можете l oop более непосредственно индикаторы выполнения.
Я хочу получить значение в каждой строке, а затем установить соответствующую ширину myprogress на основе этого значения.
Как указано выше, вы можете l oop поверх индикаторов выполнения и используйте методы обхода DOM, чтобы получить соответствующее значение из предыдущей ячейки td
, чтобы установить в качестве ширины бара. В частности, методы closest()
и prev()
.
myprogress не является уникальным идентификатором, это один и тот же идентификатор для строки.
Это недопустимо HTML и должен быть исправлен. Вместо этого используйте class
.
С учетом всего сказанного попробуйте следующее:
$('.myprogress').css('width', function() {
return $(this).closest('td').prev().text() + '%';
});
table {
width: 100%;
}
table td {
width: 25%;
}
.myprogress {
height: 20px;
background-color: #C00;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<table>
<tr>
<td>Hard drive</td>
<td>Usage</td>
<td>25</td>
<td><div class="myprogress"></div></td>
</tr>
<tr>
<td>Memory</td>
<td>Usage</td>
<td>50</td>
<td><div class="myprogress"></div></td>
</tr>
<tr>
<td>Brain Power</td>
<td>Usage</td>
<td>75</td>
<td><div class="myprogress"></div></td>
</tr>
</table>