JS控制显示

控制显示

我想写这篇文章终于不是关于面试的,而是在写代码的时候需要控制元素的显示,我最终用了h5的属性hidden,但浮现在我脑海的有很多,像visible,display:none等等,但是当我使用hidden的时候,我以为是通过true和false来控制的,搞来好去发现这竟是用增加或移除属性来控制的,于是我整理了以下控制显示的方法。

  1. Hidden

HTML全局属性,hidden属性规定对元素进行隐藏,如果使用该属性,则会隐藏元素,可以对hidden属性进行设置,使用户在满足某些条件的情况下才能看到元素,可以使用Javascript对属性进行删除。
使用:<p hidden="hidden">这是一段隐藏的段落。</p>

删除:
$("p").removeAttr("hidden") (JQ)

document.getElementByTagName(“p”).removeAttribute(“hidden”)(原生)

增加:
$(“p”).attr(“hidden”,’hidden’) (JQ)

 // 获取节点 原生
	var h1=document.getElementsByTagName("H1")[0];
    // 生成属性
	var att=document.createAttribute("class");
    // 设置属性值
	att.value="democlass";
    // 把属性赋予节点
	h1.setAttributeNode(att);
  1. display:none

display是css样式,那我们就通过控制class,通过 增加或删除class。
JQ的方法是addClass和removeClass
原生就使用document.getELementById(id).classList.add(class)

document.getELementById().classList.remove(class)
classList是h5新增的,用于增加、移除或切换css中的类,classList是只读的,但可以用add和remove来修改它。
因为class也是属性,所以如果要增加class也是可以使用上述增加hidden属性中的原生的JS写法。但是不推荐JS控制增加或者删除一个类来达到隐藏的效果。但是可以使用selector.style.diplay="none"这种方法

3.visibility:hidden
visibility与display都是css样式,但是不同的是display:none不占据页面控件而visibility是占据页面空间的。visibility还有值为visible(显示),那因为同时css样式,使用方法和display雷同,这里就不多说了。
4.slideToggle()
JQ方法,通过使用滑动效果(高度变化)来切换元素的可见状态,如果元素是隐藏的,则显示,如果元素是可见的,则会隐藏这些元素
语法:$(selector).slideToggle(speed(毫秒),callback)
5.hide() show()
JQ方法,与display:none类似,不影响布局

语法:$(selector).hide(speed,ease,callback)
分享就到这里了,如果有什么不足的请指出,我会慢慢补足的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值