繁体   English   中英

按钮不会更改背景和文本的颜色

[英]buttons not changing colour of background and text

我显然对此代码做错了。 不知道是什么,但它确实出错了。

我想要它,以便当您单击按钮的颜色时背景和文本会更改字体,目前没有

<style>
.red { background-color: red; }
.red p { font-style: normal; }

.blue { background-color: blue; }
.blue p { font-style: italic; }

.green { background-color: green; }
.green p { font-style: oblique;}
</style>
<div ng-class={{colorScheme}}>

    <button ng-click="colorScheme = 'red'">ColorScheme Red</button>
    <button ng-click="colorScheme = 'blue'">ColorScheme Blue</button>
    <button ng-click="colorScheme = 'green'">ColorScheme Green</button>

    <p>Awesome content</p>

</div>

只需将范围变量传递给ng-class

 var app = angular.module('my-app', [], function() {}) app.controller('AppController', function($scope) {}) 
 .red { background-color: red; } .red p { font-style: normal; } .blue { background-color: blue; } .blue p { font-style: italic; } .green { background-color: green; } .green p { font-style: oblique; } 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="my-app" ng-controller="AppController"> <div ng-class="colorScheme"> <button ng-click="colorScheme = 'red'">ColorScheme Red</button> <button ng-click="colorScheme = 'blue'">ColorScheme Blue</button> <button ng-click="colorScheme = 'green'">ColorScheme Green</button> <p>Awesome content</p> </div> </div> 

如果您使用ng-class,则不要放置表达式{{}},而直接使用范围对象。 因为它的默认指令为angular,所以他们不希望表达式{{}}

否则以回答我的方式使用带有表达式的类

<div class="{{colorScheme}}">

    <button ng-click="colorScheme = 'red'">ColorScheme Red</button>
    <button ng-click="colorScheme = 'blue'">ColorScheme Blue</button>
    <button ng-click="colorScheme = 'green'">ColorScheme Green</button>

    <p>Awesome content</p>

</div>

由于您还标记了JQuery ...这对我有用:

$("button").click(function(){
    $(this).parent().removeClass().addClass($(this).attr('color'));
});

这是JSFiddle演示 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM