当前位置: 首页 > 面试题库 >

Angular.js如何单击更改元素CSS类并删除所有其他元素

慕兴平
2023-03-14
问题内容

我正在尝试切换两个元素,因此如果单击一个元素,它将删除my-class的所有引用并将其应用于自身。有任何想法吗?

<span id="1" ng-style="my-class" ng-click="tog=my-class"></span>

<span id="2" ng-style="my-class" ng-click="tog=my-class"></span>

干杯!


问题答案:

创建一个名为selectedIndex的范围属性,以及一个itemClicked函数:

function MyController ($scope) {
  $scope.collection = ["Item 1", "Item 2"];

  $scope.selectedIndex = 0; // Whatever the default selected index is, use -1 for no selection

  $scope.itemClicked = function ($index) {
    $scope.selectedIndex = $index;
  };
}

然后,我的模板将如下所示:

<div>
      <span ng-repeat="item in collection"
             ng-class="{ 'selected-class-name': $index == selectedIndex }"
             ng-click="itemClicked($index)"> {{ item }} </span>
</div>

仅供参考,$ index是ng-repeat指令中可用的不可思议的变量。

您也可以在指令和模板中使用相同的示例。

这是一个工作的plnkr:

http://plnkr.co/edit/jOO8YdPiSJEaOcayEP1X?p=preview



 类似资料:
  • 问题内容: 我正在使用Python的库编写基于GUI的程序。我遇到了一个问题:我需要删除 所有 子元素(而不删除父元素,在我的情况下是)。 我的代码: 我该如何实现? 问题答案: 您可以用来获取特定小部件的所有子级的列表,然后可以对其进行遍历:

  • 我是冬眠新手,不会RTFM,所以我希望有人能帮我节省很多时间。 我的数据库中的对象之间有多对多的关系。假设员工和工作。 我想选择分配给给定员工的所有作业。我的对象乔布斯有一个正在处理它的所有员工的列表。所以,在java中,它应该是:作业job.employees.contains(员工)。除了我需要把它变成一个Hibernate查询什么的。 现在,我在选择所有东西后,正在Java中使用蛮力。 如何

  • 我有一个类似 我试图使所有元素联合元素,但同一子数组中的元素不得复制。 这将根据第一个子数组中的元素数进行添加。我试过了,但找不到任何解决办法。有人能帮忙吗? 这是我试过的代码: 提前感谢。!

  • 问题内容: 我想动态更新元素的文本: 我是jQuery的新手,因此对我来说,这项任务似乎非常具有挑战性。有人可以指出我要使用的功能/选择器吗? 如果可能的话,我想在不为需要更改的文本添加新容器的情况下执行此操作。 问题答案: 在Javascript中,该属性为您提供元素的所有子节点,包括文本节点。 因此,如果您知道要更改的文本始终是元素中的第一件事,那么请给出以下HTML: 您可以这样做: 当然,

  • 问题内容: 我试图从数组中删除元素,以便在视图中删除项目 仅出于说明目的,下面是一些代码: 如果名称正确,我想从视图中删除第一个元素吗?它工作正常,但视图会重新加载所有元素。因为所有阵列键均已移动。这在我正在创建的移动应用程序中造成了不必要的延迟。 有人对此问题有解决方案吗? 问题答案: 从数组中删除项目没有火箭科学。要从任何数组中删除项目,您需要使用:。这是一个例子: 的HTML 的JavaSc