资讯专栏INFORMATION COLUMN

原来很多元素我们可以直接访问

Andrman / 1629人阅读

摘要:这两天在帮其他项目组的同事做项目,他们使用,在使用模板时产生了一个疑问,先上代码没有在里面定义,只在页面上写了一个标签,是如何获取到变量的呢先到输入,咔还真没报错,也不是,好神奇啊,是不是遍历了所有的,将所有非普通的都设为全局变量了,先搜,

这两天在帮其他项目组的同事做项目,他们使用layui,在使用模板时产生了一个疑问,先上代码

var getTpl = tpl_crumbs_list.innerHTML

tpl_crumbs_list没有在js里面定义,只在页面上写了一个标签,layui是如何获取到变量tpl_crumbs_list的呢????
先到console输入tpl_crumbs_list,咔还真没报错,也不是undefined,好神奇啊,是不是layui遍历了所有的script,将所有非普通type的script都设为全局变量了,先搜script,好像没有,再搜id也没有,靠靠靠,什么情况,给layui.js加断点,一个函数一个函数运行,跑到最后tpl_crumbs_list,也是还是没值啊
猜想很有可能与layui没有关系,只要元素有id,就可以通过window[id内容]获取到此元素,在百度页面实验了一下

果然如此

上百度,好不容易找到了Named access on the Window object


上来就说这是非常规标准定义,使用此API会使代码脆弱不健壮,建议使用document.getElementById()或者document.querySelector()方法
自我感觉英语还行,但读起规范来总感觉力不从心

主要有下面三种情况

子浏览内容(比如iframe)有name属性

在当前文档里下面元素有name属性, a, applet, area, embed, form, frameset, img, object,我自己实验了几个,发现a便签上有name属性获取不到此元素,formimg获取到了

在当前文档里任何元素有id属性,就可以

下面还有一段看起来费劲,这个方法也不是好方法就不看了,大致可以得到下面结论
iframe, applet, form, img, object等元素有name属性,可以通过window[name值]获取到该元素,任何当前文档元素有id,可以通过window[id值]获取该元素

贤心大神威武,又知道一个小窍门

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/54615.html

相关文章

  • 前端基础进阶(十一):详细图解jQuery对象,以及如何扩展jQuery插件

    摘要:而在构造函数中,返回了的实例对象。在中直接返回过的实例,这里的是的真正构造函数最后对外暴露入口时,将字符与对等起来。因此当我们直接使用创建一个对象时,实际上是创建了一个的实例,这里的正真构造函数是原型中的方法。 showImg(https://segmentfault.com/img/remote/1460000008749398); 早几年学习前端,大家都非常热衷于研究jQuery源...

    RebeccaZhong 评论0 收藏0
  • JavaScript DOM编程基础(DOM属性&事件[叮:事件代理],Ajax,BOM,f

    摘要:推荐事件事件流事件流就是事件处理执行的过程。事件注册事件类型事件处理函数是否在捕获阶段触发。这个就是事件对象第二行的就是事件对象。除了阻止事件传递到父节点,还阻止了当前节点的后续事件。缺陷流量代价,安全性问题,大小限制。 文档树 DOM:Document Object Model 即:用对象的形式表示HTML、CSS。 DOM包含: DOM Core DOM HTML DOM Sty...

    peixn 评论0 收藏0
  • Javascript查漏补缺

    摘要:如果是自动创建的则其基本包装类对象只存在一瞬间。使用对象的函数对所有非字母数字进行编码。表示能否修改属性的值表示值访问器属性默认为。下面是同时进行多个属性的设置的语法示例设置为表示不能进行值的修改。 想复习一下javascript高级程序设计一书的内容,写下了下面的笔记,都是比较细的点,想到什么就写什么了,可能有点略杂。 Array数组部分 1.Array的length不仅是可读的,而...

    Airmusic 评论0 收藏0
  • 这几道Java集合框架面试题在面试中几乎必问

    摘要:若遇到哈希冲突,则将冲突的值加到链表中即可。之后相比于之前的版本,之后在解决哈希冲突时有了较大的变化,当链表长度大于阈值默认为时,将链表转化为红黑树,以减少搜索时间。有序,唯一红黑树自平衡的排序二叉树。 本文是最最最常见Java面试题总结系列第三周的文章。主要内容: Arraylist 与 LinkedList 异同 ArrayList 与 Vector 区别 HashMap的底层...

    bigdevil_s 评论0 收藏0
  • C语言:数组(及冒泡排序)

    摘要:代码修正后修改后,我们可以排列无限个数字这样,一个冒泡排序就完成了。,数组名表示整个数组。 首先感谢一位博主: 原来45 他写的博客内容十分详细,为我创造博客提供了莫大的帮助,也为我解决了很多困难。 先贴出2篇他的文章 C语言从入门到入土(入门篇)(数组p1)_原来45的博客-CSDN博客 ...

    Tony_Zby 评论0 收藏0

发表评论

0条评论

Andrman

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<