document.getElementsbyClassName为什么获取不到元素

周一ACE 2017-05-23 12:18:42
window.onload = function()
{
var rleft = document.getElementsByClassName('rleft');
alert(rleft.length);
for (var i = 0; i < rleft.length; i++) {
alert(rleft[i]);
}
}


长度节点列表可以得到,但是为什么打印每个元素的时候显示为空的,我用的是谷歌浏览器,html中也有很多地方写了有class
="rleft",本人刚学js,小白一个,请大神们看看
...全文
5402 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wj16888 2019-04-10
  • 打赏
  • 举报
回复 2
把js代码放在body下边
漠子凉 2017-05-24
  • 打赏
  • 举报
回复
你试一下alert(rleft[0].title);
周一ACE 2017-05-24
  • 打赏
  • 举报
回复
title只是元素里的内容,不是元素的属性啊,这样好像什么都得不到
周一ACE 2017-05-23
  • 打赏
  • 举报
回复
alert(rleft); 返回的时[object HTMLCollection]
周一ACE 2017-05-23
  • 打赏
  • 举报
回复
上代码吧

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>{$result1[0]['title']} - {$web['web_name']}</title>
	<script>
		window.onload = function()
		{
			var rleft = document.getElementsByClassName('rleft');
			alert(rleft.length);
			for (var i = 0; i < rleft.length; i++) {
				alert(rleft[i]);
			}
		}
	</script>
</head>
<body>
        {if $result2}     <!--$result2是PHP传过来的一个数组--!>
	        {foreach $result2 as $key => $a}
                    <div class="rleft">{$a['title']}</div>
	        {foreach $result2 as $key => $a}
        {if $result2}
</body>
</html>
这是提取出来的部分代码 alert(rleft.length); 可以显示数组长度 alert(rleft[i]); 显示为空,就是不知道为什么会获取不到元素
本人QQ-554433626 2017-05-23
  • 打赏
  • 举报
回复
能获取到长度,对象怎么可能为空 应该是[object HTMLInputElement]吧
漠子凉 2017-05-23
  • 打赏
  • 举报
回复
不知道你要获取rleft[i]里面的信息什么

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧