我在列表中显示用户的照片,姓名等......然后我抓住了ID为“uid”的元素的值:
$scope.toUserView = function() {
var uid = document.getElementById('userUID').textContent;
console.log(uid);
$state.go('tab.userview');
};
问题是无论我点击谁,我总是在页面列表中获得 FIRST 用户的引用,我想抓住 那个我点击。
我尝试在var的末尾添加.click()
,但它不是函数。
有什么想法吗?
编辑:对应的HTML:
<ion-list class="item-border-off list-fav">
<a ><ion-item ng-click="toUserView()" ng-repeat="user in users" class="item-remove-animate item-avatar">
<img ng-src="{{user.photoURL}}">
<h2>
{{user.name}}
</h2>
<p >{{user.description}}</p>
<p id="userUID">{{user.uid}}</p>
<!-- button options -->
<ion-option-button>
<i class="icon ion-ios-trash-outline"></i>
</ion-option-button>
<ion-option-button>
<i class="icon ion-ios-chatbubble-outline"></i>
</ion-option-button>
</ion-item></a>
</ion-list>
答案 0 :(得分:1)
对应的HTML
<a ><ion-item ng-click="toUserView($index)" ng-repeat="user in users" class="item-remove-animate item-avatar">
<img ng-src="{{user.photoURL}}">
<h2 id={{user.uid}}>
{{user.name}}
</h2>
<p >{{user.description}}</p>
<p id="userUID{{$index}}">{{user.uid}}</p>
<!-- button options -->
<ion-option-button>
<i class="icon ion-ios-trash-outline"></i>
</ion-option-button>
<ion-option-button>
<i class="icon ion-ios-chatbubble-outline"></i>
</ion-option-button>
</ion-item></a>
JS
$scope.toUserView = function(ind) {
var uid = document.getElementById('userUID'+ind).textContent;
console.log(uid);
$state.go('tab.userview');
};
答案 1 :(得分:1)
您好像在循环中重复<p id="userUID"></p>
。
id
属性对于页面应该是唯一的。
document.getElementById('test')
返回id
属性设置为test
的第一个元素。
您应该为您的ID添加一些独特的内容,或者使用class="userUID"
代替。