Voo*_*oza 8 javascript getelementbyid
在创建网页时,我总是使用功能
var someVariable = document.getElementById('myID');
Run Code Online (Sandbox Code Playgroud)
获取对元素对象的引用.最近有人向我建议这不是必要的,因为已经存在这样的变量.它的名字等于id.我测试过它似乎有效.
<div id="myID">some text</div>
<a href="someplace" onclick="alert(myID.innerHTML)">click here</a>
Run Code Online (Sandbox Code Playgroud)
此代码有效,它会按预期警告"某些文本".firefox错误控制台中只有一个警告:
全局范围内由ID/NAME引用的元素.使用WC3标准document.getElementById()代替....
我现在大部分时间都在使用jQuery,但我需要向工作中的老板证明一点,否则我将不得不给他买一盒巧克力:-).
任何想法为什么上层代码不起作用或为什么使用它是一个非常错误的想法(在Firefox中警告是不够的)???
谢谢你的回答
全局范围内由ID/NAME引用的元素.使用WC3标准document.getElementById()代替....
您当前的调用将导致可能的变量冲突.
想象一下:
<script>
var myID = 'foo';
</script>
<div id="myID">some text</div>
<a href="someplace" onclick="alert(myID.innerHTML)">click here</a>
Run Code Online (Sandbox Code Playgroud)
myID现在不是你的HTML元素,而是一个包含'foo'的变量.例.
您应该始终使用document.getElementById(),因为它是为特定函数构建的,用于检索HTML元素而不是JavaScript变量.
| 归档时间: |
|
| 查看次数: |
2684 次 |
| 最近记录: |