javascript - AngularJS - 如何获取渲染的 DOM 元素的innerHTML

标签 javascript html angularjs dom render

有没有办法获取包含 ng-repeat 循环的渲染元素的innerHTML 代码?

例如:

<div id="container">
    <div ng-repeat="e in ctrl.elements>{{e.name}}</div>
</div>

最佳答案

您可以使用$document[0].getElementById("container").innerHTML
请记住在 ng-repeat 的工作完成后调用它 - 我在下面的代码片段中延迟了它。

angular.module('app', [])
  .controller('ExampleController',  function($scope, $document, $timeout) {
    $scope.ctrlelements = [{name: "aaaa"}, {name: "bbbb"}];
    
    console.log($document[0].getElementById("container").innerHTML)
    
    $timeout(function(){
      console.log($document[0].getElementById("container").innerHTML)
    }, 1000)
    });
<script src="//code.angularjs.org/snapshot/angular.min.js"></script>
<body ng-app="app">
  <div ng-controller="ExampleController">
    <div id="container">
    <p ng-repeat="e in ctrlelements track by $index">{{e.name}}</p>
  </div>
  
</div>
</body>

PS。可能有比处理 innerHTML

更好的方法来解决您的问题

关于javascript - AngularJS - 如何获取渲染的 DOM 元素的innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52739068/

相关文章:

javascript - Angular : Apply a directive only if element is a textarea

html - 边界半径不起作用

javascript - AngularJS Controller 中的函数

javascript - 如何使旋转 block 不超出该部分?

javascript - 在检查每个键、值对 Javascript 的同时遍历 Hashtable

javascript - 折叠展开的 html 表格

angularjs - 使用 firebaseAuthClient 和 angularJS 的正确方法

javascript - 未找到 Angular JS 对象

javascript - 如果 Javascript 不起作用,显示消息?

javascript - 使用 jQuery 定位 div 中的类并在同一 div 中执行其他更改