angularjs中ng-show与css中display:none的优先级问题

本文探讨了Angular JS中ng-show指令的行为特点,并通过一个具体的案例说明了ng-show在处理元素显示与隐藏时与CSS display属性之间的优先级关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

angular中ng-show 与 css的display:none

用过angular.js的童鞋都知道,ng-show指令在其条件符合时可以使元素显示,条件不符合时使元素隐藏。
我却在前两天写代码的时候发现一个有意思的现象:
angular.js中的ng-show 并不能像jQuery中控制CSS样式那样,使样式设置为display:none的元素显示。这个小发现的过程如下:
先看一下当时要实现的效果(很简单,就是一个tab切换):
这里写图片描述
这里写图片描述

这里写图片描述

1、简单的布局完成后:
这里写图片描述
2、在写博客内容的样式时,习惯性地给每一个tab的内容div添加了display:none样式:
这里写图片描述
3、然而,在页面中就看不到任何一个tab的内容页:
这里写图片描述
4、代码写完之后没有出现想要的效果,不要着急,不要惊慌。F12 打开调试面板,首先并没有报错,那就找对应的样式,发现是CSS中的display:none 还在起作用:
这里写图片描述
5、既然 display:none 还在起作用,就把它去掉:
这里写图片描述
6、效果出来了:
这里写图片描述

好了,在细小的知识点也会在某个时候引发难以发现的大问题。这就是一般发现并解决问题的过程,最终的结论是:js中控制CSS的优先级会高于在CSS代码中设置该样式;但angular.js中的ng-show条件成立时,让元素显示的优先级并不会覆盖CSS中display:none 。
希望这个小细节对您有所帮助。
个人微信公众号:侦探小禾子,闲聊育儿生活星座塔罗牌,野生法考通过者免费法律咨询,欢迎关注!
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值