js直接通过id操作DOM对象是不规范的
这个功能来源于 IE,后来firefox 和 chrome 也支持了。现在是 w3c 非正式的标准,不建议使用。
这个可以是id,input的name等,有一定的限制,浏览器兼容问题。
是不规范操作。
首先要知道什么是Browser对象
BOM:Browser Object Model,即浏览器对象模型,提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。
Browser对象:指BOM提供的多个对象,包括:Window、Navigator、Screen、History、Location等。
其中Window对象为顶层对象,其他对象都为Window对象的子对象。
如果在HTML文档中用id属性为元素命名,并且如果Window对象没有此名字的属性,Window对象会赋予一个属性,它的名字是id属性的值,而他们的值指向表示文档元素的HTMLElement对象。在客户端JavaScript中,Window对象是以全局对象的形式存在于作用域链的最上层,这就意味着在HTML文档中使用的id属性会成为可以被脚本访问的全局变量。如果文档包含一个<div id="okay"></div>元素,可以通过全局变量okay来引用此元素。但是,有一个重要警告:如果Window对象已经具有此名字的属性,这就不会发生。比如,id是“history”、“location”、或“navigator”的元素,就不会以全局的形式出现,因为这些ID已经占用了。同样,如果HTML文档包含一个id为“x”的元素,并且还在代码中声明并赋值给全局变量x,那么显式声明的变量会隐藏隐式的元素变量。如果脚本中的变量声明出现在命名元素之前,那这个变量的存在就会阻止元素获取它的window属性。而如果脚本中的变量声明出现在命名元素之后,那么变量的显式赋值会覆盖该属性的隐式值。
可以参考JavaScript权威指南14.7章【作为Window对象属性的文档元素】
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
JAVA经典算法40题
【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i<=20;i++) System.out.println(f(i)); } public static int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 或 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=1;i<=20;i++) System.out.println(mymath.f(i)); } } class math { public i...
- 下一篇
区块链开发公司浅析区块链对传统金融行业的影响
最近,区块链技术引起了广泛关注。虽然区块链技术目前正在快速发展,但是传统区块链技术要落地金融应用,仍然存在很多问题需要解决,如交易性能、隐私保护等。解决这些问题的一种做法是重新开发新的区块链,但是这种做法会造成大量重复性工作,并且需要不断的发行新的数字资产。 [区块链技术是一种具备去中心化、高安全性、信用成本低、无法篡改和公开透明等特点的基于互联网的分布式账本技术。]()它提供了一种新的信用创造机制,在金融领域表现出广泛的应用前景,因此也理所当然地成为人们进来热议的话题。 一、业务层面。针对场外的、离散的、交易性能要求不高,或结算和支付效率要求相对要高的新业务来说,区块链技术是很有其存在和使用的必要的。但针对场内的、核心业务来看,区块链技术现在远远达不到其应用要求,也不适合区块链的这类没有信任基础的场景。 二、组织治理层面。这一层面的最大冲击,实际上是技术在引领业务,而不是技术是业务的附庸。不管是传统的金融机构,还是新的金融机构,都要认识到这个问题。 我们必须改变我们的态度,即使是传统金融机构也是要考虑改变一下阵型。从“技术是业务的一种从属的关系,或者是服从的关系,我怎么说你怎么干的关...
相关文章
文章评论
共有0条评论来说两句吧...