在jQuery中,如果你有一个包含HTML的字符串,你可以在其中处理HTML并替换特殊字符,如'&'与'&'
var myString = 'Jack & Jill';
var filtered = $('</div>').html(myString).text();
console.log(filtered); // outputs 'Jack & Jill'
我正在编写一个可以处理HTML的过滤器,但我在这里依赖于jQuery,是否有AngularJS方法呢?
这是我的过滤器代码:
myApp.filter('filterHtmlChars', function() {
return function(html) {
return $('<div/>').html(html).text(); // how could I use AngularJS here?
};
});
PS:我已经了解了ng-bind-html,我试图做的就是过滤。
答案 0 :(得分:6)
使用内置的jqLite代替:
.filter('filterHtmlChars', function(){
return function(html) {
var filtered = angular.element('<div>').html(html).text();
return filtered;
}
});
然后,在您看来,{{ foo | filterHtmlChars}}
输出&#34;杰克&amp;吉尔$scope.foo = 'Jack & Jill'