JavaScript DOM操作(二)

上机二 JavaScript DOM操作

目的:

  1. 熟练掌握JavaScript的文档对象模型DOM概念,以及各种节点类型和节点操作。
  2. 重点掌握元素节点的各种操作方法。

要求:

  1. 实现年月日的三级联动。当改变”年”菜单和”月”菜单的值的时候,”日”菜单的值的范围也会相应的改变。

源代码:






    

    

    

    年月日的三级联动





    

    

    





截图:

JavaScript DOM操作(二)

总结(遇到问题、解决方式、心得体会):

遇到问题:在初次测试代码的时候出现了意料之外的情况,在日份的下拉列表中重复输出了1-28个日期多次,而年份和月份再经过多次(一次以上)的点击选择后也出现了与日分重复输出的情况。经过分析,发现在每次触发get_day()、get_month()、get_year()时都会重新创建一个新的节点,因为只创建并添加了节点而没有删除节点,使得节点重复创建并添加才出现以上节点重复输出的情况。

解决方式:由于年份、月份列表并不会发生变动,因此只需要在第一次触发get_year()、get_month()时创建并添加节点就好。于是我定义变量year_flag和month_flag,使得在get_year()、get_month()中第一触发创建并添加节点后将创建和添加节点的代码上锁,从而避免了重复创建节点。而日份是与年份和月份三级联动的,即当改变”年”菜单和”月”菜单的值的时候,”日”菜单的值的范围也会相应的改变,日份的变化是动态的,故不可简单地仅仅创建一次节点,而是要在每次创建新节点之前将旧节点完全删除,从而实现节点的动态变化,因此我设置了一个新的clear_day()将get_day()中的节点重置,从而解决节点的重复问题。

心得体会:

Dom的核心就是节点,我理解的就是 包含关系与并列关系

inter HTML

getElementById()@ 方法

x.innerHTML用于输出 文本 在 document.writeLine中 不需要使用””

Id一般是固定不变的 所以 getElementById 用于取走Id

取id 的内容 显示id的内容

一些常用的的HTML DOM的方法 @ x = getdocumentById

getElementById(id) – 获取带有指定 id 的节点(元素)

appendChild(node) – 插入新的子节点(元素)

removeChild(node) – 删除子节点(元素)

一些常用的 HTML DOM 属性:@ x.innerHTML

innerHTML – 节点(元素)的文本值

parentNode – 节点(元素)的父节点

childNodes – 节点(元素)的子节点

attributes – 节点(元素)的属性节点

通过id、className或者TagName来获取元素后,对元素的文本、属性等进行操作。DOM在这里扮演着类似中间人或者说是桥梁把,连接了JavaScript和HTML,让JS能够更好的对HTML进行操作(大体上是增删改查,外加用户交互)相信随着深入学习会有不同体会。

Original: https://www.cnblogs.com/linlinmailbox/p/16063618.html
Author: 霖霖的信箱
Title: JavaScript DOM操作(二)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/606618/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球