关于display:none;和id特性的一些需要注意的地方
关注点一:
display:none;一旦用于某个元素,那个这个元素在页面中就不再占据位置。
visibility:hidden;用于某个元素时,这个元素还会占据位置。
关注点二:
即使使用了display:none;只是在dom树中其不再显示了,但是,文件中还有这个元素(废话!)。
关注点三:
我们知道一旦某一个元素拥有id特性,那么这个id名就会成为全局变量被调用,值得注意的是,这个id只能有一个! 如果一个页面中有两个id,那么我们直接使用id名称并关联事件时,将不再生效(这时可以根据控制台的地址此时的button为undefined)。如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF8">
<title>获取验证码的倒计时</title>
<style>
.first_button{
background-color: red;
}
</style>
</head>
<body>
<button id="button" class="first_button">这是第一个</button>
<button id="button">这是第二个</button>
<script>
button.onclick = function () {
alert("d");
}
</script>
</body>
</html>
关键点四:
在上述观点下,我们需要知道,如果使用document.getElementBtId()就可以获取到元素,但永远只能获取到第一个。
关注点五:
上述代码显然不能alert。但是也别天真地以为只要你将其中一个元素display:none;就可以!! 因为document.getElementById()方法从dom中获取元素中才不会理你的display特性呢! 而是只能获取其中的一个,结果就是还是不行,如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF8">
<title>获取验证码的倒计时</title>
<style>
.first_button{
display: none;
}
</style>
</head>
<body>
<button id="button" class="first_button">这是第一个</button>
<button id="button">这是第二个</button>
<script>
var button = document.getElementById("button");
console.log(button.className);
</script>
</body>
</html>
总结:如果页面比较复杂,尽量不要直接使用id作为全局变量来调用,以防止出错(即一个都获取不到), document.getElementById还可以获取到一个呢!!
关于display:none;和id特性的一些需要注意的地方的更多相关文章
- id特性
每一个HTML元素都可以附带id特性,id特 <!DOCTYPE html> <!-- To change this license header, choose License H ...
- 需要使用id内省方法--responsesToSelector: 的两个地方
第一个: 当从数组中取出对象,并且需要执行某个方法时,最好使用responsesToSelector:判断该对象是否可以 执行该方法.因为在OC数组中,取出的对象都是 id 类型的. 第二个: 在MV ...
- position跟display、margin collapse、overflow、float这些特性相互叠加后会怎么样?
这是寒冬大神提出的一个题目,刚开始看到这题的时候完全不知道从什么地方回答起好,题目内容比较广泛,找不到针对点.后来我觉得这个题目应该能拆成几个点来回答:1.'display'.'position' 和 ...
- Jquery 设置style:display 通过ID隐藏区域
$("#id").css('display','none'); $("#id").css('display','block'); 或 $("#id&q ...
- 2012 T-SQL 新特性 and O2O项目
SQL Server 2012 T-SQL 新特性 NoSQL之HBase 9月初淘宝飞芃做了一个关于HBase的分享,讲的激情飞扬,让听众收益匪浅,现做下简单总结. HBase是一个NoSQL数 ...
- 「小程序JAVA实战」小程序视图之细说wx:key列表高级特性(16)
转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-16/ wx:key的高级特性.这个很重要,因为在app上经常有上拉,下拉加载,我们如果不使用这个特 ...
- 从PowerDesigner表字段的Name到EF实体类属性的Display Name(根据PowerDesigner生成EF实体类中文注释和验证元数据)
第一步:将PowerDesigner表字段的中文Name填入Comment中:工具-Execute Commands-Edit/Run Script... '********************* ...
- 从append追加的<tr>里传ID参数给js函数
今天这个小问题几乎把我整崩溃 $.each(data.list, function (index, item) { i++; shenhe = "待审核"; tixing = it ...
- 被废了的display:box弹性盒模型
这几天在研究弹性布局,看书中写的是display:box,结果在chrome浏览器中是正常的,想着移动端大部分浏览器也是webkit内核的应该也没啥问题,结果确实没问题,但仔细一看,高度呢?好吧,严重 ...
随机推荐
- 部署图像深度学习Web网站
1. 内网穿透 2. 深度学习Web化 https://www.cnblogs.com/haolujun/p/9778939.html
- 编写高质量代码改善C#程序的157个建议——建议135: 考虑使用肯定性的短语命名布尔属性
建议135: 考虑使用肯定性的短语命名布尔属性 布尔值无非就是True和False,所以应该用肯定性的短语来表示它,例如,以Is.Can.Has作为前缀. 布尔属性正确命名的一个示例如下: class ...
- Ubuntu : 解决更新时出现 Unable to locate package update
当用apt-get更新软件包时常出现错误提示Unable to locate package update, 尤其是在ubuntu server上,解决方法是: 先更新apt-get ...
- Python + HTMLTestRunner + smtplib 完成测试报告生成及发送测试报告邮件
一下代码是自己结合教材,并结合以往用到的实例编写的代码,可以做为参考 import smtplib from email.mime.text import MIMEText from email.mi ...
- read与write
函数原型 ssize_t read(int filedes, void *buf, size_t count); ssize_t write(int filedes, void* buf, siz ...
- 如何在github上上传readme文件
首先打开记事本写好文字 然后保存为readme.md文件 打开github网页,登录自己的账号,选择右上角new repository 填写信息,勾选选项如下 创建好之后,选择upload files ...
- Java50道经典习题-程序3 打印水仙花数
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1 ...
- [LeetCode 题解]: First Missing Positive
Given an unsorted integer array, find the first missing positive integer. For example,Given [1,2,0] ...
- mvc权限验证--AuthorizeAttribute
在做后台管理时用户登录后就需要验证哪些权限了,没有登录的就直接退出到登录页面. 系统有自带的权限[Authorize],可用于几个地方: 1.将属性[Authorize]置于相关的action上方,验 ...
- html 线条重叠变粗
加入属性 单元格重叠变粗 使用border-collapse:collapse; 可以解决.