【发布时间】:2016-11-15 23:25:30
【问题描述】:
在这里,我得到一个宽度值数组。因为它在每个元素的末尾包含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(string, 10);否则,映射数组并切出最后两个字符。
-
我知道每个人都会建议你最好的方法,但为了你的理解,你并没有保存 slice 的结果,所以
listWidth[i]=listWidth[i].slice(0, -1);应该可以工作
标签: javascript jquery html css arrays