javascript - 如何 trim 数组中每个元素的最后两个字符?

标签 javascript jquery html css arrays

这里我得到了一个宽度值数组。因为它在每个元素的末尾包含 px。我需要 trim 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 但没有结果。

Demo fiddle

最佳答案

  1. 获取内联宽度

    I want the inline styled CSS width

    var listWidth = $("#mytable tr th:visible").map(function () {
        return parseInt(this.style.width, 10);
    }).get();
    

    Fiddle Demo

  2. 获取计算宽度

    使用width() . width() 将为您提供不带 px 的数字宽度。

    var listWidth = $("#mytable tr th:visible").map(function () {
        return $(this).width();
    }).get();
    

    Updated Fiddle

  3. 获取内联宽度(如果存在)否则获取计算宽度

    var listWidth = $("#mytable tr th:visible").map(function () {
        return parseInt(this.style.width, 10) || $(this).width();
    }).get();
    

    Updated Fiddle

关于javascript - 如何 trim 数组中每个元素的最后两个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38350573/

相关文章:

css - 我想在不移动整个 div 标签的情况下重新定位 div 标签内的图像

javascript - HTML : Input type button - value equivalent to defaultValue

javascript - 使用 jQuery 在单击输入时忽略表单提交

javascript - 如何通过 jQuery 选择使用 javascript 动态生成的innerHTML 元素

html - 将样式应用于 <form> 元素是一种好的做法吗?

javascript - 在渲染页面之前加载 Div (React)

JavaScript if 语句运行两个条件 if 使用位置替换

javascript - 一组对象数组

jquery - 返回嵌套元素的索引

jquery - 如何解决这个问题: Cross-Origin Read Blocking (CORB) blocked cross-origin response