【发布时间】:2017-07-14 11:14:48
【问题描述】:
var myApp = angular.module("myApp", []);
myApp.controller("votesController", ['$scope', function($scope, $timeout) {
$scope.comments = [
];
$scope.newComment = {
likes: 0
};
$scope.createComment = function() {
if ($scope.newComment.comment != "") {
$scope.comments.push({
comment: $scope.newComment.comment,
likes: $scope.newComment.likes
});
}
};
$scope.incrementLikes = function(comment) {
comment.likes++;
};
$scope.decrementLikes = function(comment) {
comment.likes--;
};
}]);
$('a.vote_comment').on('click',function(){
$(this).css('color','red');
});
$('a.vote_dis_like_comm').on('click',function(){
$(this).css('color','green');
});
a
{
cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div class="container" ng-app="myApp">
<div ng-controller="votesController">
<div ng-repeat="comment in comments">
<div class="comment_box_all">
<div class="comment_user">
<div class="comment_note">
<a ng-click="incrementLikes(comment, $index)" class="vote_comment">Like</a>
<span class="num_vote_comm_11"> | {{comment.likes}} | </span>
<a ng-click="decrementLikes(comment, $index)" class="vote_dis_like_comm">Unlike</a>
</div>
<div class="content_text_user_ans"><span>{{comment.comment}}</span></div>
</div>
</div>
</div>
<div class="area_comm_tex">
<textarea class="text_area" ng-model="newComment.comment" placeholder="Add comment"></textarea>
<button class="op_comm_now" ng-click="createComment()">Add text</button>
</div>
</div>
</div>
这是一个非常简单的评论框,但我有一个问题。你能解释一下为什么用 jQuery 改变 CSS 样式不起作用吗?我想像/不像 onclick 那样更改颜色文本,但这不起作用。
【问题讨论】:
-
你试过把它放在document.ready中
-
为什么选择 jQuery 而不是
ngClass+ngClick?这是 Angular,不要用 jQuery 代码污染它 -
Angular 对我来说是新的,我正在用纯 js 和 jquery 更改我的代码,我认为可以结合 jquery 和 angular。但现在我会尝试用纯角度来做