html - 在Dart中,如何获取表格单元格的宽度?

标签 html dart dart-html

好的,似乎有很多与此主题相关的问题和答案,但我找不到确切的答案,主要是因为它们似乎与设置像元宽度有关。我对此不感兴趣。抱歉,如果我错过了!

我想在一个没有设置宽度的单元格中绘制一个 Canvas 。

我有一个TableCellElement CELL,可以很好地显示innerHTML。但是我想在CELL中添加一个子 Canvas ,所以我需要像元宽度。

CELL.style.width,CELL.clientWidth,CELL.client等始终返回零。

这可能是Dart错误吗?我是错误地解决了它吗?还是不可能?我是否应该找到单元格所在的列(如何?),然后找到其宽度?
干杯
史蒂夫

最佳答案

index.html

<!DOCTYPE html>

<html>
  <head>
    <style>
      table,td {
        border: 1px solid red;
      }
    </style>
  </head>
  <body>
    <table>
      <tr>
        <td id="id1">xxx</td><td id="id2">yyyy</td><td id="id3"></td>
      </tr>
    </table>

    <script type="application/dart" src="index.dart"></script>
    <script src="packages/browser/dart.js"></script>
  </body>
</html>

index.dart
import 'dart:html';

void main() {
  printWidth('id1');
  printWidth('id2');
  printWidth('id3');
}

printWidth(String id) {
  print('${id}:');
  CssStyleDeclaration elem = querySelector('#${id}').getComputedStyle();

  print('width: ${elem.width}');
  print('borderLeftWidth: ${elem.borderLeftWidth}');
  print('borderRightWidth: ${elem.borderRightWidth}');
  print('paddingLeft: ${elem.paddingLeft}');
  print('paddingRight: ${elem.paddingRight}');
}

版画
id1:
width: 24px
borderLeftWidth: 1px
borderRightWidth: 1px
paddingLeft: 1px
paddingRight: 1px
id2:
width: 32px
borderLeftWidth: 1px
borderRightWidth: 1px
paddingLeft: 1px
paddingRight: 1px
id3:
width: 0px
borderLeftWidth: 1px
borderRightWidth: 1px
paddingLeft: 1px
paddingRight: 1px

关于html - 在Dart中,如何获取表格单元格的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30157259/

相关文章:

javascript - 即使单击提交按钮后仍保留单选按钮

javascript - 获取 "value"并在另一个函数中使用它

javascript - 表单提交按钮 onclick 不调用我的 JS 函数

dart - 如何使用Dart HTML的DirectoryEntry和DirectoryReader类?

performance - Dart:静态与动态资源利用率

javascript - HTML5 - 跨浏览器 Iframe postmessage - 父子通信

dart - GestureDetector onTap 卡片

flutter - Flutter:句柄值不存在于筛选器ListViewBuilder中

dart - 我如何在 Dart 中执行相当于 setTimeout + clearTimeout 的操作?

opengl-es - mipmap 纹理显示错误