gpt4 book ai didi

javascript - 如何通过 Angular Directive(指令)访问前一个兄弟?

转载 作者:行者123 更新时间:2023-11-30 20:15:29 25 4
gpt4 key购买 nike

目前,我正在使用 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');
}

}

上面的代码只是一个测试,将语法高亮保留为黄色。

但是,我需要知道如何访问前一个元素并捕获它的宽度以移动到左样式属性?

例:前哥的宽度是400px。当前元素有 400px 的左边。

我期待合作。

最佳答案

可以得到父元素:

let parent = this.renderer.parentNode(this.elementRef.nativeElement);

然后以某种方式选择他的 child ,也许给他们递增的 ID:

let sibling = parent.querySelector('#child5');

然后你有 sibling 宽度:

让宽度 = sibling.offsetWidth;

希望对您有所帮助。

关于javascript - 如何通过 Angular Directive(指令)访问前一个兄弟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51967110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com