AngularJS - 用类标识所有元素,并添加一个没有jQuery的属性
AngularJS - Identify all elements with a class and add an attribute without jQuery
我必须识别所有在括号中带有类的元素,并为它们添加一个属性href="#"。我必须在没有jQuery的情况下做到这一点。
这是我现在的代码示例:
<a class="in-brackets">Banana</a>
<a class="in-brackets">Apple</a>
在我的控制器中:
document.getElementsByClassName("in-brackets").setAttribute("href", "#");
但什么也没发生。该元素没有该属性。
"Angular 方式"是只在指令内执行 DOM 操作。
您可以为此构建自定义指令:
.directive('inBrackets', function () {
return {
restrict: 'C',
link: function postLink(scope, elem, attrs) {
attrs.$set('href', '#');
}
};
});
在此处阅读有关自定义指令和"指令定义对象"的各种属性的更多信息。
您必须迭代元素:
var elems = document.getElementsByClassName("in-brackets");
for (var i = 0; i < elems.length; i++) {
elems[i].setAttribute("href", "#");
}
你试过与 AngularJS 捆绑在一起的 jqLite 吗?它的工作方式类似于jQuery(尽管仅支持最常用的功能);如果你有jQuery背景,你可能会觉得很舒服。
angular.element(document.getElementsByClassName("in-brackets")).attr("href", "#");
相关文章:
- AngularJS:如何用同一对象的另一个属性访问一个属性
- 如何为下拉列表的每个选项添加一个属性
- 如果另一个属性相同,请删除该属性
- Knockout observable没有观察到其中一个属性
- 检查来自不同数组的两个元素的一个属性是否相等
- 我想从使用onkeypress事件的文本区域获取一个属性
- ..的Javascript..循环中的对象没有在最后一个属性上运行
- 节点发布错误对象的第一个“属性”
- 如何在 XML 中搜索特定属性以检索另一个属性
- Angular JS如何观看“;只有一个属性”;
- 如果我们使用:运算符在函数内部定义一个属性,会发生什么
- AngularJS ng通过对象中的一个属性和一个文本框重复筛选
- 如何检索上一个属性的名称属性
- 如何使用jQuery只删除一个属性值而不删除另一个
- JavaScript-获取一个属性'的值
- 在ember.js记录上使用toJSON,将其中一个属性设置为null
- 如何在集合中指定模型的一个属性
- 基于一个属性Javascript检索多个对象
- 是否可以在材质ui中只更改样式道具中的一个属性
- 使用jquery从xml中选择一个属性