如何在AngularJS中通过id访问iframe?

时间:2016-03-18 09:10:14

标签: javascript html angularjs iframe

如何使用AngularJS获取iframe元素的引用?

<div>
   <iframe id="myframe" ...>
</div>


mycontroller.$inject = ['$document'];

function mycontroller ($document) {
    console.log($document.getElementById("myframe")); //always null
}

我可以看到iframe,但引用查找始终打印为null。为什么呢?

3 个答案:

答案 0 :(得分:1)

$document服务返回一个数组。 你应该像他一样使用它:

console.log($document[0].getElementById("myframe"));

请参阅jsfiddled解决方案:https://jsfiddle.net/jjbw1z8j/2/

答案 1 :(得分:0)

使用此,

angular.element('#myframe');

console.log(angular.element('#myframe'));

答案 2 :(得分:-1)

角色 DOM 元素的互动应在指令中实现。

例如jsfiddle

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="ExampleApp">
  <div ng-controller="ExampleController">
    <div>
      <iframe my-frame></iframe>
    </div>
  </div>
</div>
{{1}}