此刻,我正在使用ELEMENTREF通过Redenrer2访问DOM。这是一个基本示例:
import { Directive, Renderer2, ElementRef } from '@angular/core';
@Directive({
selector: '[appHighlight]'
})
export class HighlightDirective {
constructor(private renderer: Renderer2, private el: ElementRef) {
this.renderer.setStyle(this.el.nativeElement, 'background', 'yellow');
}
}
上面的代码只是测试,使语法高亮显示为黄色。
但是,我需要知道如何访问上一个元素并捕获其宽度以移至左样式属性?
例如:前兄弟的宽度为400像素。当前元素的左侧为400px。
我指望这次合作。
答案 0 :(得分:0)
您可以获取父元素:
let parent = this.renderer.parentNode(this.elementRef.nativeElement);
然后以某种方式选择他的孩子,也许给他们递增ID:
let sibling = parent.querySelector('#child5');
然后您拥有兄弟姐妹宽度:
let width = sibling.offsetWidth;
。
希望有帮助。