在AngularJS中,如何访问指令属性所在元素的实际html。我对编辑它的属性不感兴趣,我想实际操作html本身。将元素更改为范围,甚至将其更改为注释。
例如:
<div my-directive>
<h1>hey</h1>
</div>
我想改为:
<span my-directive>
<h1>hey</h1>
</span>
甚至是:
<!-- div my-directive -->
<h1>hey</h1>
<!--/div -->
答案 0 :(得分:0)
你可以尝试这个:http://jsfiddle.net/YWfSF/3/
.directive('myDirective', function() {
return {
compile: function(elem) {
elem.replaceWith('<span>' + elem.html() + '</span>');
}
}
});
答案 1 :(得分:0)
这是一个非常简单的例子。根据您的需要,您必须延长一点。
app.directive('mydirective', function() {
return {
restrict:'A',
template: '<span my-directive><h1>hey</h1></span>',
replace:false,
compile: function compile(tElement, tAttrs, transclude){
console.log('tElement',tElement);
console.log('tAttrs',tAttrs);
console.log('transclude',transclude);
}
}
});
我知道,这是概括的,但你的问题也是如此;) 玩得开心!