获取ng中的html元素repeat angular js

get html element in ng-repeat angular js

本文关键字:repeat angular js 元素 html ng 中的 获取      更新时间:2023-09-26

我需要获得在ng repeat中创建的dom元素。我有这个代码,我不明白为什么我不能获得这个元素。

<div></div>
<ul>
      <li ng-repeat="data in data"">
        {{data}}
      </li>
    </ul>
    <script>
      var thirdListItem = $('ul').find('li').first().text();
        $('div').html(thirdListItem);
    </script>

这是plunkerhttp://plnkr.co/edit/91S2esBo0uHzQHyEBuvj?p=preview

将AngularJS和jQuery一起使用不是一个好主意。顺便说一句,试试这个快速&脏溶液:

  $(function(){
      var thirdListItem = $('ul').find('li').first().text();
      $('div').html(thirdListItem);
  });

http://plnkr.co/edit/HDvZwPp1rFeoxVYb0qGd?p=preview

正如有人已经说过的,最好的做法是创建一个自定义指令。

对于您的特殊情况,请尝试此解决方案:它使用ng init将列表项的索引值传递给一个函数,该函数使用该索引使用jQuery返回DOM元素。输出是控制台。

http://plnkr.co/edit/XJnBzIyQoSJf9YKE0953?p=preview

  <ul>
    <li ng-repeat="data in data" ng-init="find($index +1)">
      {{data}}
    </li>
  </ul>
$scope.find = function(i){
       $ele= $('li:nth-child(' + i +')');
       console.log($ele);
  }