Здесь я получаю массив значений ширины. Так как он содержит px
в конце каждого элемента. Мне нужно обрезать px
и сохранить его в массиве.Как обрезать последние два символа каждого элемента массива?
HTML
<table id="mytable">
<thead>
<tr>
<th style="width:40px;display:none;">Head1</th>
<th style="width:50px">Head2</th>
<th style="width:60px">Head3</th>
<th style="width:70px">Head4</th>
<th style="width:80px">Head5</th>
</tr>
</thead>
<tbody>
<tr>
<td style="width:40px;display:none;">1</td>
<td style="width:50px">2</td>
<td style="width:60px">3</td>
<td style="width:70px">4</td>
<td style="width:80px">5</td>
</tr>
</tbody>
</table>
Jquery
var listWidth = $("#mytable tr th").map(function() {
if($(this).is(":visible")){
return this.style.width;
}
}).get();
for (var i = 0; i < listWidth.length; i++) {
listWidth[i].slice(0, -1);
}
console.log(listWidth);
Я попытался с помощью slice
, но, ни результата.
Фактически есть результат, но вы игнорируете его. –
Если формат всегда похож на «30px», вы можете использовать parseInt (строка, 10); Еще да, сопоставьте массив и вырежьте последние два символа. – Shilly
Я знаю, что каждый предложит вам лучший способ, но для вашего понимания вы не сохраняете результат среза, поэтому 'listWidth [i] = listWidth [i] .slice (0, -1);' должен работать – bugwheels94