84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
刚接触js,在练习table切换时,如下图所示,获取第一个p标签时显示错误。请大神指教。
修改了了下语法,简单好多。不过还有一点疑惑。if的条件语句this==op[j]中,this指的是op[i],但是把这句话改成op[i]==op[j]或者直接改成i==j就不行呢?
走同样的路,发现不同的人生
你这里 DOM 操作的语法是没有问题的,问题在于,你这段 JS 位于 head 中,意味着执行的时候 DOM 结构还没渲染完成,意味着你期望获取的节点还没被渲染出来,所以 DOM 操作无法获取到那个 id 的节点,所以返回 null,所以第二个 DOM 操作报错。处理方式:把那段 JS 放到 body 标签里面的底部,或者在 DOMContentLoaded 或者 load 事件后去触发函数执行,以确保需要的 DOM 元素渲染完毕。
把你script代码换一个位置,放到你p片段的后面,建议是在</body>之前,个人觉得放在</body>之后看起来更好些。
还有,如果仅仅是获取内层p的话,可以使用children:
document.getElementById('s').children
你这里 DOM 操作的语法是没有问题的,问题在于,你这段 JS 位于 head 中,意味着执行的时候 DOM 结构还没渲染完成,意味着你期望获取的节点还没被渲染出来,所以 DOM 操作无法获取到那个 id 的节点,所以返回 null,所以第二个 DOM 操作报错。
处理方式:把那段 JS 放到 body 标签里面的底部,或者在 DOMContentLoaded 或者 load 事件后去触发函数执行,以确保需要的 DOM 元素渲染完毕。
把你script代码换一个位置,放到你p片段的后面,建议是在</body>之前,个人觉得放在</body>之后看起来更好些。
还有,如果仅仅是获取内层p的话,可以使用children: