![](/img/trans.png)
[英]DOM CSS selector: how to select a sibling of a parent element if the li has active class
[英]Angular access DOM sibling element to alter css class
如何从我的集合上的 ngFor 迭代中访问按钮的相应兄弟元素?
Dom 元素,我正在尝试访问此 DOM 元素,因此我可以更改兄弟元素 div.popup class。 如帖子底部链接的 Codepen 示例所示。
我对 angular 很陌生,请指教。
<button
#popBtn
href="#"
id="info"
class="info popup-trigger"
title="info"
(click)="PopUp($event)"
>
Popup
</button>
在这里发帖之前,我阅读了以下文章,但我无法完全理解或与之相关。
使用 ng-click 传递对 DOM object 的引用
如何在 ngFor 中单击元素 html 以添加 css class?
组件.html
<section class="ArticlesGrid">
<div *ngFor="let article of articles" class="windowsBox">
<article class="ui-titlebar">
<h4 class="ui-titletext">{{article.title}}</h4>
</article>
<div class="windowsScreen">
<button
#popBtn
href="#"
id="info"
class="info popup-trigger"
title="info"
(click)="PopUp($event)"
>
Popup
</button>
<div class="popup" role="alert">
<div class="popup-container">
<a href="#" class="popup-close img-replace">Close</a>
<p>{{article.content}}}</p>
</div>
</div>
</div>
<p class="windowsTech">
Technologies:
<span class="THtml"></span>
<span class="TCss"></span>
<span class="TJs"></span>
</p>
</div>
</section>
组件.ts
PopUp(event: Event) {
//console.log(this.viewBtn.nativeElement.nextElementSibling.classList.toggle("is-visible"));
console.log(event);
// this.viewBtn.nativeElement.
}
沙盒模型
https://stackblitz.com/edit/angular-collection-popup?file=src/app/app.component.html
Function转镜像
https://codepen.io/Gugiui/pen/vweXYR
感谢您阅读我的问题。 我希望你能给我建议/指导
在弹出 div 上添加模板引用变量 -
<div class="popup" role="alert" #popupDiv>
将其传递给按钮单击 function -
(click)="PopUp($event, popupDiv)"
使用普通 javascript 在 PopUp 方法中更改 class -
PopUp(event: Event, element) {
element.classList.remove('popup');
element.classList.add('test');
console.log(element.classList);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.