我有这个
<body>
<div id=myid0 i='Keliot'> 0</div>
<div id=myid1 i='Ukonh'> 1</div>
<div id=myid2 i='plotis'> 2</div>
</body>我正在尝试获取i的值,但myid0的值为null。这就是我正在使用的
alert(document.getElementById('myid0').getAttribute('i'));错误是
Error: 'document.getElementById(...)' is null or not an object发布于 2011-02-16 06:28:52
确保将代码放在要选择的元素之后,以便在您尝试选择它们时它们仍然存在。
示例: http://jsfiddle.net/dS4t5/
<body>
<div id=myid0 i='Keliot'> 0</div>
<div id=myid1 i='Ukonh'> 1</div>
<div id=myid2 i='plotis'> 2</div>
<!-- script is placed here, after the elements have loaded -->
<script type="text/javascript">
alert(document.getElementById('myid0').getAttribute('i'));
</script>
</body>正如@typo.pl所指出的,这只是确保DOM元素存在的一种方法。
您可以将代码放在一个函数中,然后从body onload="myfunc();"或window.onload = myfunc;调用它。或者,您可以使用一种不太精确的方法通过setTimeout设置计时器来执行代码。
发布于 2011-02-16 06:59:54
用引号将id属性括起来:
<body>
<div id='myid0'>0</div>
<div id='myid1'>1</div>
<div id='myid2'>2</div>
</body>另外,我建议不要创建自定义元素属性。I不是标准的xHTML元素属性。
https://stackoverflow.com/questions/5010258
复制相似问题