javascript - 单击时显示和隐藏父 div 内的跨度无法按预期工作

标签 javascript css arrays angularjs

我的标记如下:

<div class="box" ng-click="listThis()" ng-show="isVisible">
 <span class="text">content ....</span>
 <span class="text2">content2 ....</span>
 <span class="text3">content3 ....</span>

我的代码如下:

var spans = 2;
var i = 0;
$scope.newlist= [];

while (i < spans){
$scope.newlist.push(i+1);
i++;
}

$scope.listThis=function(){
$scope.isVisible=!$scope.isVisible;
}

但是,当我点击/关闭 class="box"中的所有内容时,它会被隐藏,并且不会真正将我的跨度值限制为仅显示 2 个跨度。

现在确定我是否遗漏了什么,或者有更好的方法吗?

最佳答案

第一个答案很好地回答了你在 ng-show 上的问题。

根据您的评论,您可能希望使用带过滤器的 ng-repeat。

首先这是一个工作 plunker

HTML : ng-repeat - limit 是一个 $scope 变量。 “limitTo”过滤器返回列表的前 n 个元素。

<div>
    <span ng-repeat="span in spans | limitTo: limit">{{span.content}}<br/></span>
</div>

JS:

//Now your span elements are objects with the attribute "content"
$scope.spans = [{content:"Test1"},{content:"Test2"},{content:"Test3"}]

您可以使用 ng-model="limit" 将输入绑定(bind)到 limit。或者简单地在你的 JS 中执行 $scope.limit = 2

希望对您有所帮助。

关于javascript - 单击时显示和隐藏父 div 内的跨度无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31320677/

相关文章:

javascript - 将正则表达式匹配传递给 console.log 中的变量以在文本框中显示输出

javascript在类中传递一个函数,该类需要该类对象中的另一个函数

html - CSS,覆盖所有选择下拉菜单的高度?

html - Bootstrap 弹出窗口 3 列

javascript - 如何根据另一个值 [JavaScript] 在对象数组中搜索特定值?

javascript - 提交按钮与其他按钮 react

javascript - JQuery 选择器比 DOM 属性更安全吗?

css - parent 的填充会影响 Chrome 中 child 的垂直相对填充

java - 如何将常规数组转换为二维锯齿状数组?

c++ - 将显示数组的 5 个 for 循环压缩为 1?