如何在角度7中获得偏移量的顶部

时间:2019-04-24 14:10:37

标签: javascript angular

当我单击子节点tr td时,如何获取角度openClick()的偏移顶部。 我在下面的代码中尝试过,我得到的错误是属性'offsetTop'在类型'HTMLCollectionOf

中不存在
<tr [ngClass]="value == 1? 'active': ''" class="tr-row">
    <td>Credit Card</td>
    <td>80</td>
    <td (click)="openClick(1)">
        20
        <div class="table-inner-row"></div>
    </td>
    <td>1</td>
</tr>
<tr [ngClass]="value == 2? 'active': ''" class="tr-row">
    <td>Credit Card</td>
    <td>80</td>
    <td (click)="openClick(2)">20
        <div class="table-inner-row"></div>
    </td>
    <td>1</td>
</tr>
<tr [ngClass]="value == 3? 'active': ''" class="tr-row">
    <td>Credit Card</td>
    <td>80</td>
    <td (click)="openClick(3)">20
        <div class="table-inner-row"></div>
    </td>
    <td>1</td>
</tr>

我的点击事件是

openClick(value){
   this.value = value;
   var box = document.getElementsByClassName("active");
   console.log(box.offsetTop)
}

1 个答案:

答案 0 :(得分:0)

执行document.getElementsByClassName("active")时,它将返回一个数组。如果active类中只有一个元素,则返回的数组中只会得到一个HTML元素。

访问方式如下:var box = <HTMLElement>document.getElementsByClassName("active")[0];

我已为访问的元素类型赋予类型document.getElementsByClassName('someClass'),其定义为返回值为HTMLCollectionOf<Element>

在此处查看:https://stackblitz.com/edit/angular-6xnk6v