我想知道这里为什用parentNode


 <div>
        <a onclick="a_click(this);">111</a><br>
        <a onclick="a_click(this);">222</a><br>
        <a onclick="a_click(this);">333</a><br>
    </div>

    <script language="javascript">
        function a_click(o) {
           
            var as = o.parentNode.getElementsByTagName('a');
            for (var i = 0; i < as.length; i++) {
                as[i].style.backgroundColor = '';
            }
            o.style.backgroundColor = '#FF0000';
        }
    </script>

因为o是你点击的那个a标签对象,parentNode是获取到它的父节点
只有从它的父节点才能获取到你这所有的三个a标签,才能进行下面你这个循环语句


如有帮助,麻烦点个【采纳此答案】 谢谢啦~

这段脚本的功能是,不管点哪个,所有的一起变色
那当然不能只改变它自己的颜色
要先找到a标签的父节点,然后再查询所有的a标签,再遍历

o指的是被点击的a,parentNode是获取a的父节点也就是div
o.parentNode.getElementsByTagName('a')获取div下的所有a元素

这是我们通过parentNode获取当前被点击的a标签的父级标签也就是div然后获取div下面的所有的a标签进行遍历,然后去除所有a标签的背景颜色,然后在为当前点击的a标签设置背景颜色,从而做到点击哪个哪个变色

a_click(this)绑定了this,点击的参数o就是当前点击的节点,因为需要将其它的点击颜色去掉,要获取全部节点,所以要通过父级parentNode来获取