我有这个
<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
获取空值。这就是我正在使用的
alert(document.getElementById('myid0').getAttribute('i'));
错误是
Error: 'document.getElementById(...)' is null or not an object
答案 0 :(得分:1)
确保在选择的元素之后放置代码,以便在您尝试选择它们时存在。
示例: 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
的计时器来执行代码。
答案 1 :(得分:0)
在id属性周围加上引号:
<body>
<div id='myid0'>0</div>
<div id='myid1'>1</div>
<div id='myid2'>2</div>
</body>
另外,我建议不要创建自定义元素属性。我不是标准的xHTML元素属性。