刚接触js,在练习table切换时,如下图所示,获取第一个div标签时显示错误。请大神指教。
修改了了下语法,简单好多。不过还有一点疑惑。if的条件语句this==odiv[j]中,this指的是odiv[i],但是把这句话改成odiv[i]==odiv[j]或者直接改成i==j就不行呢?
刚接触js,在练习table切换时,如下图所示,获取第一个div标签时显示错误。请大神指教。
修改了了下语法,简单好多。不过还有一点疑惑。if的条件语句this==odiv[j]中,this指的是odiv[i],但是把这句话改成odiv[i]==odiv[j]或者直接改成i==j就不行呢?
把你script代码换一个位置,放到你div片段的后面,建议是在</body>之前,个人觉得放在</body>之后看起来更好些。
还有,如果仅仅是获取内层div的话,可以使用children:
document.getElementById('s').children
10 回答11.4k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
你这里 DOM 操作的语法是没有问题的,问题在于,你这段 JS 位于 head 中,意味着执行的时候 DOM 结构还没渲染完成,意味着你期望获取的节点还没被渲染出来,所以 DOM 操作无法获取到那个 id 的节点,所以返回 null,所以第二个 DOM 操作报错。
处理方式:把那段 JS 放到 body 标签里面的底部,或者在 DOMContentLoaded 或者 load 事件后去触发函数执行,以确保需要的 DOM 元素渲染完毕。