我有我的网页上显示的元素 - 这个元素是Twitter的引导图标 -
<i class="icon-trash"></i>
。AngularJS + jQuery的 - 无法隐藏/显示元素内部指令
页面加载时,图标通过与风格将隐藏的类,它隐藏:
.hidden {
display: none;
}
现在,我已经创建了一个指令,它以最简单的形式如下:
var app = angular.module('testApp', []);
app.directive('testDir', function() {
return function(scope, iElement, iAttrs) {
iElement.customMethod({
source: function() {
//Some other statements
jQuery(".icon-trash").removeClass('hidden');
}
});
};
});
该指令作为属性放置在输入框中。当用户输入一个输入文本时,指令函数确实被调用。但是,图标从不再显示,即使调用该函数(使用console.log()
进行检查),jQuery代码似乎也不会删除隐藏的类。任何想法为什么?
我想你应该阅读http://stackoverflow.com/questions/14994391/how-do-i-think-in-angularjs-if-i-have-a-jquery-background/14994393#14994393 和考虑使用ng-class而不是写一个复杂的指令? – ganaraj
尝试'$('。icon-trash')。show();' – Omar
'.show()'将图标的'display'属性设置为'display:inline'。实际的显示属性应该是'display:inline-block',因为图标不会被渲染。因此,我需要添加和删除类将设置显示'none' – user109187