qq_42998816 2021-09-04 23:43 采纳率: 18.2%
浏览 14
已采纳

求解:运行出来为什么不显示第一个子结点和最后一个子结点的值?详细见主内容。

求解:运行出来为什么不显示第一个子结点和最后一个子结点的值?为什么第一个子结点名字显示不是TEXT,最后一个子结点名字显示不是BUTTON?最后一个结点的类型明明是按钮,但检测到是文本(类型值为3)?

    <form action="#" name="form1" id="form1">
        <input type="text" name="txt" id="txt" value="value_text_input"><br>
        <input type="button" name="button" id="button" value="value_btn"><br>
        <button type="submit" id="btn_submit">提交按钮</button>
    </form>
        var node_form= document.getElementById("form1");
        document.write("打印表单1的第一个子元素的各个属性: ");
        document.writeln(node_form.firstChild);
        document.writeln(node_form.firstChild.nodeName);
        document.writeln(node_form.firstChild.nodeType);
        document.writeln(node_form.firstChild.nodeValue);
        document.write("<br>打印表单1的最后一个子元素的各个属性:");
        document.writeln(node_form.lastChild);
        document.writeln(node_form.lastChild.nodeName);
        document.writeln(node_form.lastChild.nodeType);
        document.writeln(node_form.lastChild.nodeValue);
打印表单1的第一个子元素的各个属性: [object Text] #text 3
打印表单1的最后一个子元素的各个属性:[object Text] #text 3

运行结果见最后一张图 

  • 写回答

1条回答 默认 最新

  • 哇!! 2021-09-05 12:59
    关注

    1.首先得清楚dom结构有哪些组成(文档节点, 元素节点, 文本节点, 属性节点, 注释节点 )
    2.区分children和childNodes的区别;
    3.解答: 编写html文档标签的时候, 每一个回车换行...符号都会创建出一个文本节点, 本题中可以看出form元素节点包含了4个回车换行符也就是创建了4个文本节点, form的childNodes打印出来就是text -> input -> br -> text -> input -> br -> text -> button -> text共计九个子节点; 所以打印出来的答案跟你所想的有出入是肯定的;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 9月6日
  • 创建了问题 9月4日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程