如何 select 中的元素 AngularJS
How to select elements in AngularJS
我正在尝试使用 AngularJS 通过标签名称获取元素。
例如,
angular.element(document.querySelector('h1')).css('color', 'green');
HTML 中的元素:
<div>
<h1>Title 1</h1>
</div>
<div>
<h1>Title 2</h1>
</div>
它只对第一个元素有效,对第二个元素无效。我不确定它的原因。谁能帮我解决这个问题?非常感谢!
querySelector()
方法 returns 匹配文档中指定 CSS 选择器的第一个元素。
querySelectorAll()
方法 returns 文档中匹配指定 CSS 选择器的所有元素,作为静态 NodeList
对象。
如@Tushar 所述,处理此问题的最佳方法是使用 ng-class。让 Angular 为您进行 DOM 操作
你的CSS
.someclass{
color: green
}
你的HTML
<div ng-class="{'someclass': obj.value == 'somevalue'}">
<h1>Title 1</h1>
</div>
<div>
<h1>Title 2</h1>
</div>
在 'someclass'
之后,在您的控制器中,您可以插入任何最有意义的表达式。当您的表达式计算结果为真时,'someclass'
将应用于您的 Div.
我正在尝试使用 AngularJS 通过标签名称获取元素。
例如,
angular.element(document.querySelector('h1')).css('color', 'green');
HTML 中的元素:
<div>
<h1>Title 1</h1>
</div>
<div>
<h1>Title 2</h1>
</div>
它只对第一个元素有效,对第二个元素无效。我不确定它的原因。谁能帮我解决这个问题?非常感谢!
querySelector()
方法 returns 匹配文档中指定 CSS 选择器的第一个元素。
querySelectorAll()
方法 returns 文档中匹配指定 CSS 选择器的所有元素,作为静态 NodeList
对象。
如@Tushar 所述,处理此问题的最佳方法是使用 ng-class。让 Angular 为您进行 DOM 操作
你的CSS
.someclass{
color: green
}
你的HTML
<div ng-class="{'someclass': obj.value == 'somevalue'}">
<h1>Title 1</h1>
</div>
<div>
<h1>Title 2</h1>
</div>
在 'someclass'
之后,在您的控制器中,您可以插入任何最有意义的表达式。当您的表达式计算结果为真时,'someclass'
将应用于您的 Div.