这两天在帮其他项目组的同事做项目。他们用的是layui,用模板的时候出现一个问题。首先代码vargetTpl=tpl_crumbs_list.innerHTMLtpl_crumbs_list在js中没有定义,只在页面上写了一个标签,layui是怎么得到的变量tpl_crumbs_list????先到控制台输入tpl_crumbs_list,ka果然没有报错,也不是undefined,太神奇了,layui是不是遍历了所有的脚本,把所有非常见类型的脚本都设置为全局变量,先搜索脚本,好像那个没有,不用再搜索id了,靠靠靠,什么情况,给layui.js加个断点,一次运行一个函数,跑到最后一个tpl_crumbs_list,还是没用!我猜和layui没有关系,只要元素有id,就可以通过window[idcontent]获取这个元素。在百度页面上试验了一下,原来是这样的。在百度上终于找到了Window对象上的Namedaccess,说这是一个非常规的标准定义。使用该API会使代码变得脆弱而不健壮,建议使用document.getElementById()或document.querySelector()方法。感觉自己的英文还可以,但是看说明书的时候总觉得力不从心。文档中的以下元素具有name属性,a,applet,area,embed,form,frameset,img,object。我试验了几次,发现便利贴上的name属性获取不到这个元素。form和img都可以在当前文档中的任何一个元素中获取到id属性,所以下面还有一段看起来很费力。这种方法不是忽略它的好方法。大致可以得出以下结论。iframe、applet、form、img、object等元素都有name属性。该元素可以通过window[namevalue]获取。当前任何一个文档元素都有一个id,元素可以通过window[idvalue]获取。
