如何使用AngularJS从json数据中删除链接标记
How to remove link tags from json data using AngularJS
我目前正在从wordpress网站加载JSON数据,如下所示:
"content": "<p>This is text which <a href="#">may have</a> some random links <a href="#">in</a> it.</p>",
控制器:
$http.get($scope.postUrl + $stateParams.postID + '?type[]=post')
.success( function(data){
$scope.post = data;
})
.error( function() {
$scope.loading = false;
$scope.errorMessage = "Item could not be found.";
})
.then( function() {
$scope.loading = false;
});
HTML:
<div ng-bind-html="post.content" class="post-content"></div>
我想删除任何可能在原始"内容"中的链接,最好使用过滤器。其他人有没有遇到过类似的情况并提出了解决方案?
我试着用jquery选择器瞄准他们,但没有成功
$(document).ready(function () { $(".post-content a").contents().unwrap(); });
或在控制器级别:
$scope$on('$viewContentLoaded',function(){$(".post content a").contents().unwrap();})
据推测,由于内容未加载的时间问题,这些功能不起作用。
这两次尝试都很接近,但都没有达到您想要的效果。
首先,Angular的元素接口没有unwrap
方法。如果您正在使用jQuery,请忽略它,您可能正在使用jQuery。如果不是,则需要在Angular之前将jQuery作为依赖项引入。
其次,您可以在控制器中完成整个操作。片段:
$http.get($scope.postUrl + $stateParams.postID + '?type[]=post')
.success( function(data){
var postContent = angular.element(data.content); // This wraps the HTML in jQuery
postContent.find("a").contents().unwrap(); // Remove a tags
$scope.post = $('<div>').append(postContent).html(); // Cast to HTML String
})
相关文章:
- 正在从Instagram图片源中删除链接
- 如何使用jQuery或JavaScript删除链接
- Javascript each() 函数删除链接
- 如何从iframe中删除链接
- 从选择器中删除链接
- getSelection从选择中删除链接
- 为表中的每一行创建mysql删除链接,使用ajax删除并更新表列表
- 使用JQuery删除链接
- 想要在单击删除链接时删除添加到缩略图中的图像
- jQuery淡入/淡出替换文本删除链接
- VivaGraphJS删除链接
- 无法从带有箭头的D3力定向图中删除链接
- 增加/减少跨度的数值,并在jQuery中向上/向下单击任一id时删除链接的类
- 为每个重复的href单击“删除链接”
- Snap SVG添加/删除链接属性
- 从d3节点图中删除链接会打乱标签
- 不能再从FB上删除链接了
- 如何删除链接属性时,点击链接与javascript
- PHP动态表与编辑/删除链接打开一个弹出
- 在javascript中更改innerHTML会删除链接