div中有一个元素列表,这些元素显示为一个列表(一个在另一个下方),我想获取这些元素并在同一行上显示它们(一个在另一个附近)。
父母的样子:
<div class="table-option table-option__items">
<div ng-repeat="option in $ctrl.configuration" class = "table-option-item">
<div class="table-option-header">
{{option.name}}
</div>
</div>
</div>
我可以通过以下方式在控制台(以及.js文件)中访问它
var parent = $(".table-option__items")[0];
和每个孩子
var child = $(".table-option-item")[i];
,i
是其索引。
在我的情况下,有4个孩子,因此我可以通过将i替换为0、1,2或3来访问它们。我也不知道如何获得父对象的长度。
我希望能够从父级访问所有子级,就像在父级中循环并能够对子级进行操作。将它们放在列表/数组/对象或类似对象中。
在我的特定情况下,将它们的顺序从垂直方向更改为在另一位置下方,以使它们在水平方向上彼此靠近。 有可能吗?
答案 0 :(得分:0)
我假设您是angularjs的初学者,但之前使用过jQuery。 Angularjs在幕后使用jQuery(或未包含在页面中的特定子集),如果您要编写格式良好的angularjs代码,则只能在编写自定义angularjs时亲自使用jQuery { {3}}。这是有角度的设计,因此,没有DOM操作与应用程序的业务逻辑混合在一起。这是一个简单的示例,说明如何以更加有角度的方式重新调整ng-repeat循环:
angular.module("app",[])
.controller("ctrl", function($scope){
$scope.options = [{name: "foo"}, {name: "bar"}]
})
.quux{
display: inline-block;
}
.thing{
margin: 5px;
border: 2px solid red;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
<div class="quux" ng-repeat="option in options">
<span class="thing">
{{option.name}}
</span>
</div>
</div>
答案 1 :(得分:0)
然后查找总长度 您可以将.length仅用于子代选择器,如下所示:
var count = $(".table-option-item").length;
如果必须使用.children(),则如下所示:
var count = $(".table-option div").children().length;
var length = $('.table-option__items').children('div').length