关于返回所有的元素兄弟节点

来源:3-13 封装节点关系函数

一坨羊毛

2021-12-29 16:02:07

相关代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="box">
        <p>我是段落A</p>
        <p id="para">我是段落B</p>
        <p>我是段落C</p>
    </div>

    <script>
        var box=document.getElementById("box");
        var para=document.getElementById("para");

        //封装函数,这个函数可以返回所有的元素兄弟节点
        function bother(node){
            var operious=[];
            var onext=[];

            var o=node;
            while(o.periousSibling != null){
                if(o.periousSibling.nodeType==1){
                    operious.unshift(o.periousSibling);
                }
                o=o.periousSibling;
            }

            o=node;
            while(o.nextSibling != null){
                if(o.nextSibling.nodeType==1){
                    onext.push(o.nextSibling);
                }
                o=o.nextSibling;
            }

            var arr=operious.concat(onext);
            return arr;

        }
        console.log(bother(para));
    </script>
</body>
</html>

相关截图:

https://img.mukewang.com/climg/61cc15b009756e0220700265.jpg

问题描述:

请问为什么--我是段落A--标签没有输出,怎么更改代码?


写回答

1回答

好帮手慕久久

2021-12-29

同学你好,如下单词写错了:

https://img.mukewang.com/climg/61cc16ec09a0e60805250074.jpg

所以输出结果不正确。

获取前面节点,单词是previousSibling,修改如下:

https://img.mukewang.com/climg/61cc1722090fd5ee06680243.jpg

祝学习愉快!

0

0 学习 · 15276 问题

查看课程