如何在javascript中通过id获取angularjs中的元素?
假设我有一个按钮:如何在javascript中通过id获取angularjs中的元素?,javascript,twitter-bootstrap,angularjs,Javascript,Twitter Bootstrap,Angularjs,假设我有一个按钮: <button type="submit" value="Send" id="btnStoreToDB" class="btn btn-primary start" ng-click="storeDB()" ng-disabled="!storeDB_button_state" > <i cla
<button type="submit"
value="Send"
id="btnStoreToDB"
class="btn btn-primary start"
ng-click="storeDB()"
ng-disabled="!storeDB_button_state"
>
<i class="icon-white icon-share-alt"></i>
<span>Store to DB</span>
</button>
但是,$scope.btnStartUpload
未定义。假设有其他方法获取此按钮
求求你,救命
angular.element("#btnStoreToDB");
但这里有更“棱角”的方式
JS
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.loading = false;
$scope.send = function(){
$scope.loading = true;
setTimeout(function(){
alert('finished');
$scope.$apply($scope.loading = false);
}, 2000);
};
});
HTML
<button ng-click="send()">
<img ng-show="loading" src="http://farmville-2.com/wp-content/plugins/farmvilleajpl/img/loadingbig.gif" width='10'>
Send!
</button>
发送!
p.s.来自cutom源的图像
p.p.s就我个人而言,我通常使用Twitter引导,有一种方法可以更轻松地显示微调器。像
这是一个很好的问题,也是一种非常普遍的情况 执行此操作的方法是在按钮上或按钮内使用
ng show
、ng hide
或ng class
一个想法可能是使用ng类
,如下所示:
<button ng-class="{ useSpinner: btnStoreToDB }">...</button>
现在您的视图和控制器已经分离,您正在以角度的方式进行操作。您应该在jQuery中说您只需执行
$('#…')
.JavaScript>jQuery;-)您应该添加更多解释,说明这是如何解决问题的以及原因。这将是一个更好的答案。-1,我对使用id不感兴趣(参见问题)。您的示例显示了如何将元素添加到角度环境。对不起,你问我怎样才能像JS一样获得一个元素。我给了你答案。Thanks@MaximShoustin,增加了一点角度。对不起confusion@HugoDozois,你认为这个(更新的)版本有什么意义?
<button ng-class="{ useSpinner: btnStoreToDB }">...</button>
<button ...>
<i class="icon-white icon-share-alt"></i>
<span>Store to DB</span>
<div class="spinner" ng-show="btnStoreToDb">...</div>
</button>