相当于AngularJS中的jQuery html()

时间:2015-03-21 13:38:44

标签: javascript jquery html angularjs

<div id="block">
<p>some value</p>
<div>tons of stuff</div>
<li>etc</li>
</div>

在jQuery中,我们可以var getHtml = $("#block").html();但是我们怎么能在AngularJS中做到这一点?我只知道我们可以使用ng-model进行绑定,但是我们是否在数百个HTML标签上声明了许多ng-model?

澄清一下:我想将生成的HTML保存到我的本地存储中,我不想混淆AngularJS和jQuery。

2 个答案:

答案 0 :(得分:-1)

根据AngularJS文档,您应该能够使用html(),除非我遗漏了什么?

您必须使用.element()函数来获取jQuery或JqLite对象:

var content = angular.element('#fooid').html();

答案 1 :(得分:-1)

您可以制作自定义指令 试试这个:

&#13;
&#13;
angular.module("myApp", [])
  .controller("myController", function($scope, $timeout) {
    $scope.text = "myText";
    $timeout(function() {
      $scope.text = "newText"
    }, 3000);
  })
  .directive("html", function() {
    return {
      scope: {
        html: '='
      },
      link: function(scope, element, attrs) {
        scope.$watch(function() {
          return element.html();
        }, function(newVal, oldVal) {
          console.log(newVal)
          scope.html = newVal;
        })
      }
    }
  });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myController" ng-init="test = ''">
  <div html="test">{{text}}</div>
  <div>{{test}}</div>
</div>
&#13;
&#13;
&#13;

抱歉第一个错误答案:)