javascript - Angular:检查元素是否有类并将类添加到另一个元素

标签 javascript jquery angular typescript ng-class

如果一个 DOM 元素有一个类,我如何用 Angular 检查然后将一个类添加到另一个元素?

我的模板:

<div class="d-table">
  <ui-switch class="d-table-cell">
    <span class="switch">
      <small></small>
    </span>
  </ui-switch>
  <span class="d-table-cell"> 
    sign in
  </span>
</div>

如果具有 switch 类的跨度也有 checked 类,则文本的颜色具有 d-table-cell 类的 span 元素之间应为黑色,否则颜色应为灰色。

jQuery 没问题,但我想以正确的 Angular 方式来做:)

最佳答案

.gray {
  color:gray;
}
.black {
  color: black;
}
<div class="d-table">
	<span class="switch" #switch>
      <small></small>
    </span>
  <span class="d-table-cell" [ngClass]="switch.classList.contains('checked')  ? 'gray' : 'black'"> 
    sign in
  </span>
</div>

我们可以创建模板引用变量,可以在模板中直接访问,获取属性、类等。#switch是模板引用变量

stackblitz

关于javascript - Angular:检查元素是否有类并将类添加到另一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57866979/

相关文章:

jquery - 如何在样式化的选择下拉列表中模仿键盘行为?

javascript - Mobile Safari 有时不会触发点击事件

html - 如何在 doc.fromhtml() jspdf 中包含 Angular 组件?

javascript - 在提交不提交表单时替换 Div

javascript - 如何在 React 中将变量从一个方法传递到另一个方法

javascript - Angular 2 : Trying to change a label from the onclick function of clicking a button next to an input form

javascript - D3.JS 如何在鼠标悬停时计算某个属性的圆圈数

jquery - CSS3 和 jQuery 的毛刺效果

css - 在组件范围之外更新样式 - Angular 2

Angular http get 返回空数组