【发布时间】:2018-02-18 15:05:21
【问题描述】:
这是我的 HTML 代码。在此我从 ng-repeat 获取多个值,对于每个值,我希望各自的按钮显示和隐藏两个 div 元素。在我的网页中,来自不同成员块的按钮正在工作只显示/隐藏第一个成员块...对于我通过 ng-repeat 获得的所有成员,id=round 的按钮应该切换 id= first 和 id= second 的 btw div 元素。
<section id="team">
<div ng-controller="teamController as tctrl">
<div class="container">
<div class="row">
<div class="col-md-3 bord" ng-repeat="member in tctrl.members">
<button id="round" ng-click="showHide($index)">
<img id="direction" src="img/icon/uparrow.png">
</button>
<img ng-src="{{member.image}}">
<div id="first" class="memberabout" >
<h3 ng-bind="member.title"></h3>
<h2 ng-bind="member.name"></h2>
</div>
<div id="second" class="hid" >
<p ng-bind="member.about"></p>
</div>
</div>
</div>
</div>
</div>
</section>
这是我正在尝试使用的 js 函数:
$scope.showHide = function(index) {
if (document.getElementById('first') !== undefined) {
if (document.getElementById('first').style.display == 'none') {
document.getElementById('first').style.display = 'block';
document.getElementById('second').style.display = 'none';
var down = document.getElementById('round');
down.style.top = "201px";
var direction = document.getElementById('direction');
direction.src = 'img/icon/uparrow.png';
} else {
document.getElementById('first').style.display = 'none';
document.getElementById('second').style.display = 'block';
var down = document.getElementById('round');
down.style.top = "71px";
var direction = document.getElementById('direction');
direction.src = 'img/icon/arrowdown.png';
}
}
};
我应该如何传递 id 以便每个按钮都可以显示/隐藏其块中的 div 元素?
【问题讨论】:
-
你能把问题输入清楚,我可以帮忙吗?没有正确回答您的问题
-
我应该解释哪一部分?
-
这部分令人困惑> 但由于我使用的是 id ,所有按钮都只能显示/隐藏第一个元素。
-
您可以不使用
id="first",而是使用id="member-{{index}}",这样每个元素在重复运行后都会获得一个唯一的ID。 -
好的,我试试这个。
标签: javascript angularjs angularjs-ng-repeat angularjs-ng-click