如何使用jQuery更改Angular字段textarea的内容

时间:2017-01-05 19:40:39

标签: javascript jquery angularjs

我正在尝试使用jQuery更改Angular应用中textarea的颜色,但它不起作用。

我该怎么办?它说$ is not defined。 HTML:

<body>
     <div ng-app="myApp" ng-controller="testController">
        <textarea id="abc">abc
          </textarea>

     </div>
</body>
</html>

Angular js:

 var app = angular.module('myApp', []);
 app.controller('testController', function($scope, $http) {    
      var tdVal =$("#abc");
      var x = tdVal.innerHTML;
      tdVal.html ("<span style='color: rgba(220, 0, 0, 1)'>" + x"</span>");
});

3 个答案:

答案 0 :(得分:1)

你不只是改变颜色,而是控制本身。如果改变颜色是意图:

var elem = angular.element('#abc');
elem.css('color', 'rgba(220, 0, 0, 1)');

对于值更新,angular为您提供绑定指令。

$scope.value = 'some value'

并在视野中

<textarea id="#abc" ng-bind="value"></textarea>

答案 1 :(得分:0)

试试这个,如果没有其他依赖项,它确实有效:

$('#abc').css('color', 'rgba(220, 0, 0, 1)');

答案 2 :(得分:0)

您希望在subtract代码中呈现HTML,这是浏览器不允许的,但您可以做的是使用可编辑的textarea元素:

div

结帐Rendering HTML inside textarea

默认情况下,

<div id="abc" contenteditable="true"></div> 使用 jQueryLight ,这是限制版本og jQuery。你应该使用angular.element angular指令:

ng-style

或者您可以根据您的逻辑分配给<div id="abc" contenteditable="true"> <span ng-style="{color: 'rgba(220, 0, 0, 1)'}">abc</span> </div> 自定义函数,该函数将返回CSS对象。