JS-004-判断元素显示状态
在日常的 web 编程或 UI自动化脚本编写过程中,经常会遇到判断页面元素的显示状态,以对应的执行相应的操作。此文主要以 js 判断页面元素的存在状态为例,简单叙述一下 js 是如何判断元素的显示状态的,敬请小主们参阅。若有不足之处,敬请大神们不吝指正,不胜感激!
多不言述,小二上码咯。
以下为简单的 HTML 源码,如下所示:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>JS-004-判断元素显示状态</title>
</head> <body>
<div>
<h4 id="p1">显示/隐藏:</h4>
<ul>
<li>隐藏文本:document.getElementById('p1').style.visibility='hidden'</li>
<li>显示文本:document.getElementById('p1').style.visibility='visible'</li>
</ul>
<input type="button" value="隐藏文本" onclick="document.getElementById('p1').style.visibility='hidden'" />
<input type="button" value="显示文本" onclick="document.getElementById('p1').style.visibility='visible'" />
</div> <div>
<br><br><br><br>
<a href="http://www.w3school.com.cn/jsref/dom_obj_style.asp" target="_blank">HTML DOM Style 对象</a>
</div>
</body>
</html>
页面展示效果,如下所示:

页面元素是否显示时,其对应的 css 样式如下所示:
显示:<h4 id="p1">显示/隐藏:</h4> 或者 <h4 id="p1" style="visibility: visible;">显示/隐藏:</h4>
隐藏:<h4 id="p1" style="visibility: hidden;">显示/隐藏:</h4>
通过观察,发现可以通过元素对应的 sytle.visibility 属性值进行判断,通过 js 获取上述三种情况时对应的值如下所示:

对比上述三种结果,可通过 js 截取字符串函数 substr(start, length) 或 substring(start, end) 获取 visibility 的值,但针对第一种情况时,此种方法不可取。因而经过考虑后,采用了 string.indexOf('string') 获取字符串位置的方法判断更加简洁方便,此方法若存在查询的字符串,则返回对应的索引;否则,返回 -1。实际验证结果如下所示:

亲们,可将此判断方法进行进一步的封装,方便后续的操作,提高编码效率。
至此, JS-004-判断元素显示状态 顺利完结,希望此文能够给初学 JavaScript 的您一份参考。
最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^
JS-004-判断元素显示状态的更多相关文章
- AngularJS进阶(十)AngularJS改变元素显示状态
AngularJS改变元素显示状态 前言 本文描述使用AngularJS提供的ng-show和ng-hide指令实现自动监听某布尔型变量来改变元素显示状态. 控制html元素显示和隐藏有n种方法:ht ...
- js jquery 判断元素是否在数组内
js jquery 判断元素是否在数组内 一,js方法 var arr = ["a", "b", "c"]; // js arr.index ...
- jQuery判断当前元素显示状态并控制元素的显示与隐藏
1.jQuery判断一个元素当前状态是显示还是隐藏 $("#id").is(':visible'); //true为显示,false为隐藏 $("#id") ...
- Offline.js - 自动判断网络连接状态并提醒用户
http://www.cnblogs.com/lhb25/p/offline-js-alert-users-when-no-internet-connectivity.html 使用 jslint/j ...
- js jquery 判断元素是否在数组内(转)
一,js方法 var arr = ["a", "b", "c"]; // js arr.indexOf("c") var ...
- 利用JavaScript的if语句判断元素显示隐藏
<html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...
- 原生js如何判断元素出现在可视区
元素出现在可视区 scorll滑动的距离>=当前元素距离浏览器最顶端的高度+当前元素自身的高度-当前可视区的高度 触底 scorll滑动的距离>=当前scroll总高度-当前可视区的高度
- jquery 判断元素显示或隐藏
$().is(":hidden"); $().is(":visible");
- jQuery判断元素是否是隐藏的代码
if($("#elem_id").is(":hidden")) { } 实例代码1: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC & ...
随机推荐
- Graph database_neo4j 底层存储结构分析(7)
3.7 Relationship 的存储 下面是neo4j graph db 中,Relationship数据存储对应的文件: neostore.relationshipgroupstore.db ...
- [转] - JAR文件包及jar命令详解 ( MANIFEST.MF的用法 )
常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件.通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像. chm 文档一样双击运行了:而另一种是使用 JET 来进 ...
- java语言中一些使用的小技巧(区别于c++)
正在自学java中...想记录下java和c++在一些小的方面的不同点.(未完待续...) java中class的对象均是引用类型的,如果想把连个同类型的对象相关联起来,只要将一个赋值给另一个就可以了 ...
- lucene 3.0.2 操作进阶
转自:Bannings http://blog.csdn.net/zhangao0086/article/details/ Analyzer(分词器) 分词器能以某种规则对关键字进行分词,将分好的词放 ...
- 各分支Linux的镜像下载地址
https://openstack.redhat.com/Image_resources http://fedoraproject.org/en/get-fedora#clouds https ...
- 【iM_VGA模块】运行 ucgui 演示!
挂在 iCore2 双核心板上的 VGA模块,跑 ucgui DEMO 演示.大家看看! ============================== 技术论坛:http://www.eeschool ...
- string[1]:size 属性具有无效大小值0
截图 使用存储过程返回多个字符串参数 程序 public class EventStatisticsDAL { public static void GetCount(string code, out ...
- Nginx 笔记与总结(14)expires 缓存设置
设置缓存,可以提高网站性能. 当网站的部分内容,比如新闻站的图片,一旦发布就不太可能发生更改,此时需要用户在访问一次页面之后,把该页面的图片缓存在用户的浏览器端一段时间,就可以用到 nginx 的 e ...
- WEB安全攻防学习内容
一.网络安全篇 TCP/IP协议初识 Linux操作系统基础 网络漏洞扫描与信息收集 口令攻击 服务安全 日志安全 安全基线加固 防火墙vpn安全接入 网络无线原理和安全防护 二.编程篇 初识Pyth ...
- 02/07/2106 @ 6:28am (UTC)
<?php echo pow(2,32); 4294967296 http://www.unixtimestamp.com/index.php 4294967296 Is equivalent ...