首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >getAttribute不工作

getAttribute不工作
EN

Stack Overflow用户
提问于 2011-02-16 06:27:25
回答 2查看 615关注 0票数 0

我有这个

代码语言:javascript
运行
复制
<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。这就是我正在使用的

代码语言:javascript
运行
复制
alert(document.getElementById('myid0').getAttribute('i'));

错误是

代码语言:javascript
运行
复制
Error: 'document.getElementById(...)' is null or not an object
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-16 06:28:52

确保将代码放在要选择的元素之后,以便在您尝试选择它们时它们仍然存在。

示例: http://jsfiddle.net/dS4t5/

代码语言:javascript
运行
复制
<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
EN

Stack Overflow用户

发布于 2011-02-16 06:59:54

用引号将id属性括起来:

代码语言:javascript
运行
复制
<body>
    <div id='myid0'>0</div>
    <div id='myid1'>1</div>
    <div id='myid2'>2</div>
</body>

另外,我建议不要创建自定义元素属性。I不是标准的xHTML元素属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5010258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档