问题描述
- 在JS里直接用id引用html页面上的组件
-
偶然的机会见到在JS里直接用id定位到页面上的组件,没有使用getElementById()。而且在IE和Chrome下均好用。但是我在网上查询没有找到任何资料表明可以这么用,哪位好心人解释一下。
示例代码如下:<script> function fun() { alert(a.value); } </script> <input id="a" value="asd"/> <input type="button" value="click" onclick="fun();"/>
解决方案
我创建一个网页,就示例代码这几行,测试可以拿到。
解决方案二:
从原理上来说直接用id肯定不可能。要不就是前面还有with括起来,或者自定义了函数 $('a').value之类。直接用id是不行的,不在一个域中。
解决方案三:
原本就可以通过id引用到。不过不建议这样做,最好使用document.getElementById来获取对象,还有name也可以
firefox下会有警告:ID/NAME 所引用的元素位于全局范围。请使用 W3C 的标准形式 document.getElementById() 。
解决方案四:
需要先使用document.getElementById()来获取对象,直接使用document.ID这种方式来使用,不符合标准的W3C规范,会导致在有些浏览器下是不支持的。
时间: 2024-09-19 10:06:14