Angularjs Can';无法获取元素id
我有下面的指令,我试图获取元素和属性id,但是我没有定义 代码:Angularjs Can';无法获取元素id,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我有下面的指令,我试图获取元素和属性id,但是我没有定义 代码: 'use strict'; angular.module('clientApp') .directive('myVideo', function(){ return { restrict: 'A', replace: true, template: '<div style="border:solid 10px gray; width:auto;">'+ '&l
'use strict';
angular.module('clientApp')
.directive('myVideo', function(){
return {
restrict: 'A',
replace: true,
template: '<div style="border:solid 10px gray; width:auto;">'+
'<video style="width:100%; height:auto;" controls>'+
'<source src="views/unit_1.mp4" type="video/mp4" id="video">'+
'</video>'+
'{{test}}</div>',
link: function(scope, elem, attrs) {
console.log('Elements', elem.id);
console.log('Attributes', attrs.id);
}
};
});
“严格使用”;
angular.module('clientApp'))
.directive('myVideo',function(){
返回{
限制:“A”,
替换:正确,
模板:“”+
''+
''+
''+
“{{test}}”,
链接:功能(范围、要素、属性){
console.log('Elements',elem.id);
console.log('Attributes',attrs.id);
}
};
});
id
只是指令中存在的属性,所以您可以直接在链接
函数第三个参数(attrs
)中访问属性集合。尽管你可以申请@Phil建议的答案
但在您的情况下,我认为,您应该在指令元素上有id
属性,然后只有您才能在控制台上看到它
<div my-video id="myId"></div>
id
只是指令中存在的属性,所以您可以直接在链接
函数第三个参数(attrs
)中访问属性集合。尽管你可以申请@Phil建议的答案
但在您的情况下,我认为,您应该在指令元素上有id
属性,然后只有您才能在控制台上看到它
<div my-video id="myId"></div>
在指令
link
函数中,elem
是一个jqLite对象(或jQuery,如果包含),因此您可以使用
elem.prop('id')
或
请参见指令
link
函数中的elem
是一个jqLite对象(或jQuery,如果包含),因此您可以使用
elem.prop('id')
或
请参见属性
id
为HTML元素指定一个唯一id
。它主要用于指向样式表中的样式,并由JavaScript使用特定id操作DOM元素
id
属性设置或返回元素的id(元素的id属性的值)
因此,根据要求,您必须在指令属性中定义id
属性
<div my-video id="videoId"></div>
console.log('Elements', elem.id); // 'Elements', videoId
console.log('Attributes', attrs.id); // 'Attributes', videoId
id
属性为HTML元素指定一个唯一id
。它主要用于指向样式表中的样式,并由JavaScript使用特定id操作DOM元素
id
属性设置或返回元素的id(元素的id属性的值)
因此,根据要求,您必须在指令属性中定义id
属性
<div my-video id="videoId"></div>
console.log('Elements', elem.id); // 'Elements', videoId
console.log('Attributes', attrs.id); // 'Attributes', videoId
elem.attr
这件事,我还是觉得attrs.id
似乎更容易些+1@PankajParkar这取决于你想要什么。attrs
属性有一些,但对于普通属性属性,它与elem.attr
差不多,但我觉得attrs.id
似乎更容易+1@PankajParkar这取决于你想要什么。attrs
属性有一些属性,但对于普通属性属性,它们大致相同