如何通过指令编辑元素的html
How to edit html of an element through a directive
在AngularJS中,我如何访问指令属性所在元素的实际html ?我对编辑它的属性不感兴趣,我想实际操作html本身。将元素更改为span,甚至更改为注释。
例如:<div my-directive>
<h1>hey</h1>
</div>
我想改成:
<span my-directive>
<h1>hey</h1>
</span>
或甚至到:
<!-- div my-directive -->
<h1>hey</h1>
<!--/div -->
你可以试试这个:http://jsfiddle.net/YWfSF/3/
.directive('myDirective', function() {
return {
compile: function(elem) {
elem.replaceWith('<span>' + elem.html() + '</span>');
}
}
});
这里有一个非常简单的例子。根据你的需要,你可以稍微扩展一下。
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);
}
}
});
我知道,这是广义的,但你的问题也是;)玩得开心!编辑:忘记了plunkr link
相关文章:
- 如何设置html元素填充的动画
- 删除对HTML元素的拖动
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 一个html元素的克隆次数太多
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- 为什么我在Internet Explorer上看不到html元素
- 重新排列HTML元素的顺序并更改内容
- 使用.on动态添加jquery/js不知道的html元素
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 如何将html元素添加到tampermonkey中
- 访问html元素值javascript
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- 自定义HTML元素属性未显示-Web组件
- 让HTML元素充当停止滚动的锚点
- 将html元素插入到文本字符串中,以匹配另一个html字符串
- 替换HTML元素中的字符
- 如何将html元素添加为生成的内容
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- 使用JS加载HTML元素