首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ng-hide and last:子CSS

Ng-hide and last:子CSS
EN

Stack Overflow用户
提问于 2017-05-03 17:46:33
回答 2查看 444关注 0票数 0

我有;

代码语言:javascript
复制
<div class="exampleDiv">
    <element1></element1>
    <element2></element2>
    <element3></element3>
</div>

然后一些CSS使用last:child选择器(仅限右边距:0 FYI)。但是,我在元素1-3上使用了条件ng-hide,因此如果隐藏了element3,最后一个:child CSS不会移动到element2,因为从技术上讲,它是在DOM中呈现然后隐藏的。

所以我想知道有没有一种方法可以使用ng-hide并有一个类似于'last-visible-element‘选择器的东西。因此,当ng-hide工作时,用户可以看到的最后一个元素是否应用了此CSS?

提前感谢大家的帮助!

EN

回答 2

Stack Overflow用户

发布于 2017-05-03 18:01:38

remove()是你想要的吗,因为它确实从dom树中删除了元素:

代码语言:javascript
复制
var myApp = angular.module("myApp", []);
 myApp.controller("myController", function($scope) {
 $scope.removeElement = function() {	  
	 var elmn = angular.element( document.querySelector( '.test :last-child' ) );
     elmn.remove();
 };
});
代码语言:javascript
复制
.test {
  display: flex;
  justify-content: space-between;
}

.test div {
  border: solid;
  min-width: 5em;
}

.test :last-child {
  color: red;
}
.test :last-child:before {
 content:"actual last-child ";
 color:green;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div ng-app="myApp">
  <p>each time you click, last element is removed</p>
  <div ng-controller="myController" class="test">
    <input type="button" value="Remove Div " ng-click="removeElement()">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>last-child</div>
  </div>
</div>

http://codepen.io/gc-nomade/pen/KmvKdV

票数 1
EN

Stack Overflow用户

发布于 2017-05-03 17:56:41

您可以尝试添加基于some conditiondynamic类,如下所示:

css / style

代码语言:javascript
复制
.show {
    display: inline;
}
.hide {
    display: none;
}

script

代码语言:javascript
复制
<div class="exampleDiv">
   <element1 ng-class="{'show' : item.isVisible == true, 'hide' : item.isVisible == false}"></element1>
   <element2 ng-class="{'show' : item.isVisible == true, 'hide' : item.isVisible == false}"></element2>
   <element3 ng-class="{'show' : item.isVisible == true, 'hide' : item.isVisible == false}"></element3>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43756579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档