JS 获取标签出现问题

刚接触js,在练习table切换时,如下图所示,获取第一个div标签时显示错误。请大神指教。

clipboard.png

clipboard.png

修改了了下语法,简单好多。不过还有一点疑惑。if的条件语句this==odiv[j]中,this指的是odiv[i],但是把这句话改成odiv[i]==odiv[j]或者直接改成i==j就不行呢?
clipboard.png

阅读 2.1k
2 个回答

你这里 DOM 操作的语法是没有问题的,问题在于,你这段 JS 位于 head 中,意味着执行的时候 DOM 结构还没渲染完成,意味着你期望获取的节点还没被渲染出来,所以 DOM 操作无法获取到那个 id 的节点,所以返回 null,所以第二个 DOM 操作报错。
处理方式:把那段 JS 放到 body 标签里面的底部,或者在 DOMContentLoaded 或者 load 事件后去触发函数执行,以确保需要的 DOM 元素渲染完毕。

把你script代码换一个位置,放到你div片段的后面,建议是在</body>之前,个人觉得放在</body>之后看起来更好些。

还有,如果仅仅是获取内层div的话,可以使用children:

document.getElementById('s').children
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题