Ext能直接用变量名获取dom节点吗?
我在项目中,一次偶然的机会,发现好像是可以用变量直接根据id读取html的dom,举例如下:
html:
<input type="hidden" id="type" value="100">
extjs
console.log(type.value);
控制台输出100
直接打印type变量,会输出这个input的dom内容(前提是你没有定义一个名为type的变量,就直接获取)
我谷歌了一下,没有发现类似的使用方式,不知道这么使用是什么原理?是js的缘故还是ext框架的缘故?
回忆那段伤
10 years, 4 months ago
Answers
经尝试,这不是ext框架的原因,是js的缘故。
在chrome(beta),firefox(Aurora),ie11中尝试成功
但是由于id可能与本来就有的对象发生冲突,当发生冲突时,原有的会优先。
比如说<input id="window">会无法通过这种方式选取,在window对象中,没有value(window.value === undefined)。但是有innerHeight,表示原有的window对象优先。
这个我也没有找到资料,但是贴吧和百度知道中均有人发现,应该是一种不规范的写法,建议还是老老实实的getElementById,说不定以后就没了。
窝了一个槽
answered 10 years, 4 months ago