html - 如何通过 typescript 获取 img 高度

标签 html css angular typescript

我试图在加载图像后获取图像的高度。我尝试了几种不同的方法,但是 offsetHeight 打印 0,而其他的什么都不打印。元素已经在查询高度时加载,就在我查询它们的高度之前,我通过 getElementById 和 setAttribute 调用它们的 id 成功设置了它们的宽度。

* {
  margin: 0;
  padding: 0;
  border: 0;
}

.gallery {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.gallery img {
  width: 100%;
  display: block;
}

Id 6 对应一个图像,它确实存在/已经在 typescript 中的这些调用点呈现。

我在 bottom 背后的想法是,如果我能得到图像的顶部和底部,我就可以在没有得到它的情况下计算出高度。

console.log(document.getElementById("6").offsetHeight.toString());
console.log(document.getElementById("6").offsetHeight.valueOf());
console.log(document.getElementById("6").style.height);
console.log(document.getElementById("6").style.bottom);
console.log(document.getElementById("6").style.borderBottom);

HTML

  <div id={{i}} *ngFor="let image of images; let i = index;">
    <img class="img-responsive" src={{image.src}} alt="" (click)="clicked()">
  </div>

最佳答案

试试这个 -

const el: HTMLElement = document.getElementById('6');
console.log(el.offsetHeight);

关于html - 如何通过 typescript 获取 img 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56747293/

相关文章:

javascript - 如何在 bootstrap 4 中提交表单

css - 如何从我的 CSS3 菜单中移除透明度

html - 在 CSS 中用 1 个 div 重叠圆圈

angular - no-unused-variable TSLint 规则不适用于 private @HostBinding

angular - 响应式(Reactive)表单 valueChanges observable 重置表单值

javascript - 向每一行添加一个新列,其中的文本相当于第一列值?

javascript - 使用 jquery 隐藏显示登录和注册

html - 我没有看到应用于 div 标签的 css。这是为什么?

jquery - 我如何将我的姓名和详细信息包含在我正在设计的网站的 html/css/jquery 编码中,以使其不可编辑?

angular - ElementRef 和@ViewChild,不推荐?