Angularjs ng-repeat:如何定位元素

时间:2014-01-14 15:42:03

标签: javascript jquery css angularjs cordova

我有一个div元素列表,当客户选择一个元素时,会出现详细视图。 在后面,我想在所选元素上定位我的列表。

<div id="patient{{patient.PId}}" class="div-patient" ng-repeat="patient in patients">
   <p>{{patient.name}}</p>
</div>

我已经测试了许多代码来滚动选定的患者:

$(window).scrollTop($("#patient"+$rootScope.selectedPatient).offset().top);
// or
$("html, body").animate({ scrollTop:angular.element("#patient"+$rootScope.selectedPatient).prop( 'offsetTop' ) });
//or
$(window).scrollTop(angular.element("#patient"+$rootScope.selectedPatient).prop( 'offsetTop' ));

css div-patient:

position: absolute;
height: 330px;
margin-bottom: 30px;
top: {{360*fixTopCell($index)}}px;

但是

$("#patient"+$rootScope.selectedPatient).offset().top

angular.element("#patient"+$rootScope.selectedPatient).prop( 'offsetTop' )

一直返回0。

当我使用 table 标签而不是 div 时,它可以工作。

我看到Android 4.X中没有函数scrollTop。 是否还有其他解决方案来定位返回列表后选择的元素?

1 个答案:

答案 0 :(得分:1)

  

当我使用div的表标签INSTEAD时,它可以工作。

确保您的ID尚未使用#patient。也许你试着打电话给已经使用的id!