zoukankan      html  css  js  c++  java
  • JS-004-判断元素显示状态

    在日常的 web 编程或 UI自动化脚本编写过程中,经常会遇到判断页面元素的显示状态,以对应的执行相应的操作。此文主要以 js 判断页面元素的存在状态为例,简单叙述一下 js 是如何判断元素的显示状态的,敬请小主们参阅。若有不足之处,敬请大神们不吝指正,不胜感激!

    多不言述,小二上码咯。

    以下为简单的 HTML 源码,如下所示:

     1 <html>
     2     <head>
     3         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     4 
     5         <title>JS-004-判断元素显示状态</title>
     6     </head>
     7         
     8     <body>
     9         <div>
    10             <h4 id="p1">显示/隐藏:</h4>
    11             <ul>
    12                 <li>隐藏文本:document.getElementById('p1').style.visibility='hidden'</li>
    13                 <li>显示文本:document.getElementById('p1').style.visibility='visible'</li>
    14             </ul>
    15             <input type="button" value="隐藏文本" onclick="document.getElementById('p1').style.visibility='hidden'" />
    16             <input type="button" value="显示文本" onclick="document.getElementById('p1').style.visibility='visible'" />
    17         </div>
    18 
    19         <div>
    20             <br><br><br><br>
    21             <a href="http://www.w3school.com.cn/jsref/dom_obj_style.asp" target="_blank">HTML DOM Style 对象</a>
    22         </div>
    23     </body>
    24 </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 的您一份参考。

    最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

  • 相关阅读:
    剑指21.栈的压入、弹出序列
    剑指20.包含min函数的栈
    剑指19.顺时针打印矩阵
    Java--使用反编译工具,打开jar包,查看源码
    没想到 Unicode 字符还能这样玩?
    angularjs中响应回车事件
    两个很好的angular调试工具-——batarang(stable)和ng-inspector
    基于 ThinkPHP5 的 cltphp 被搜索劫持,篡改首页的解决过程记录
    国内外CDN服务商CNAME特征串调研
    开源中国/码云 README.md上传图片的爬坑记录
  • 原文地址:https://www.cnblogs.com/fengpingfan/p/4647006.html
Copyright © 2011-2022 走看看