吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1288|回复: 9
收起左侧

[已解决] [前端]为什么兄弟元素节点出现的结果是null?

[复制链接]
clearwater 发表于 2020-3-11 19:58
本帖最后由 clearwater 于 2020-3-11 20:33 编辑

某前端老师说:兄弟节点的元素如果要取的话,做不到兼容,除非自己封装一个函数。(第16-24行是老师封装的函数,其余的代码是我写的)
可是为什么26行输出的结果是null,而不是span?

div的下一个兄弟元素节点是span. 请问我哪里写错了?
(老师说兄弟元素节点,这个用得比较少。不过我想了解一下。)
[JavaScript] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
   <div>12</div>
   <span>222</span>
   <script>
        var div = document.querySelector('div');
        function getNextElementSibling(element) {
            var el = element;
            while (el = el.nextSibling) {
                if (el.nodeType === 1) {
                    return el;
                }
            }
            return null;
        }  
        var i = getNextElementSibling('div');
        console.log(i);

    </script>

</body>

</html>

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

传说中的五号 发表于 2020-3-11 20:11
[Pascal] 纯文本查看 复制代码
var i = getNextElementSibling(div);
        console.log(i);

免费评分

参与人数 1热心值 +1 收起 理由
clearwater + 1 谢谢@Thanks!

查看全部评分

 楼主| clearwater 发表于 2020-3-11 20:15
EnterpriseSolu 发表于 2020-3-11 20:22
我提个小建议,直接上Jquery,DOM和Javascript的知识在使用Jquery的过程中掌握,否则单纯搞DOM会把人折腾崩溃
$("div")  可以找出所有的div, 然后就可以foreach等操作

上面的代码,加一下 &#160;<script type="javascript" >
其次,el.nodeType === 1 这一句可能是错的,

我有个终极解决问题的建议,你可以用开发工具调试,单步运行,这样可以知道为什么没有取到值, IE 和 Chrome都自带开发工具,F12调出来,放个断点,一步步运行代码

免费评分

参与人数 1吾爱币 +1 收起 理由
clearwater + 1 谢谢@Thanks!

查看全部评分

泪鱼无梦 发表于 2020-3-11 20:26
clearwater 发表于 2020-3-11 20:15
我把引号去掉了,出现还是 null

第一个大佬回答的是对的

免费评分

参与人数 1吾爱币 +1 收起 理由
clearwater + 1 热心回复!

查看全部评分

泪鱼无梦 发表于 2020-3-11 20:27
删掉引号就好了
TVM8G)A1{H0R(CNS(5L~YQM.png
MFLOQKG`I}_2]52DKN8F9`5.png

免费评分

参与人数 1热心值 +1 收起 理由
clearwater + 1 谢谢@Thanks!

查看全部评分

 楼主| clearwater 发表于 2020-3-11 20:28
泪鱼无梦 发表于 2020-3-11 20:26
第一个大佬回答的是对的

谢谢各位大神回复。

那为啥我输出的结果不是span, 还是null?
cl19980429 发表于 2020-3-11 20:28
我输出的是 span
TIM图片20200311202744.png

免费评分

参与人数 1热心值 +1 收起 理由
clearwater + 1 谢谢@Thanks!

查看全部评分

 楼主| clearwater 发表于 2020-3-11 20:32

谢谢。我看眼花了。

明天再给您补评分。现在没能量辣。

 楼主| clearwater 发表于 2020-3-11 20:37
本帖最后由 clearwater 于 2020-3-11 20:38 编辑
泪鱼无梦 发表于 2020-3-11 20:26
第一个大佬回答的是对的

我搞明白了。DIV是变量。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-30 05:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表