JavaScript对象之DOM和BOM

前言

        本文简单对JavaScript的BOM对象和DOM对象进行了介绍,以及其中相关方法和用法。


目录

一、DOM对象简单学习

二、事件

        2.1、事件简单学习

        2.2、事件监听机制

        案例:灯泡开关:

三、BOM对象

        3.1、BOM对象概念:

        3.2、组成

        案例:自动跳转首页

四、DOM对象简介

       4.1、基本概念:

       4.2、 W3C DOM 标准被分为 3 个不同的部分:

                4.2.1、核心 DOM - 针对任何结构化文档的标准模型

                4.2.2、XML DOM - 针对 XML 文档的标准模型

                4.2.3、HTML DOM - 针对 HTML 文档的标准模型

       案例:动态表格


一、DOM对象简单学习

  DOM对象的功能:控制HTML文档的内容
         
  获取页面标签(元素)对象:Element
        document.getElementById("id值"):通过元素的id获取元素对象
   如何操作Element对象:
            1. 修改属性值:
                1. 明确获取的对象是哪一个?
                2. 查看API文档,找其中有哪些属性可以设置
            2. 修改标签体内容:
                * 属性:innerHTML
                1. 获取元素对象
                2. 使用innerHTML属性修改标签体内容
            代码实例
        

        



    
    DOM对象




第一个标题

以上内容是对DOM对象有一个简单的了解,以便更好的学习BOM对象,详细内容可以参考:

w3school 在线教程该网站

二、事件

        2.1、事件简单学习

 功能: 某些组件被执行了某些操作后,触发某些代码的执行。
 如何绑定事件
        1. 直接在html标签上,指定事件的属性(操作),属性值就是js代码
            1. 事件:onclick--- 单击事件
        2. 通过js获取元素对象,指定事件属性,设置一个函数
    代码实例
  

      



    
    事件









        2.2、事件监听机制

 概念:某些组件被执行了某些操作后,触发某些代码的执行。
        * 事件:某些操作。如: 单击,双击,键盘按下了,鼠标移动了
        * 事件源:组件。如: 按钮 文本输入框...
        * 监听器:代码。
        * 注册监听:将事件,事件源,监听器结合在一起。 当事件源上发生了某个事件,则触发执行某个监听器代码。
     常见的事件:
        1. 点击事件:
            1. onclick:单击事件
            2. ondblclick:双击事件
        2. 焦点事件
            1. onblur:失去焦点
            2. onfocus:元素获得焦点。
        
        3. 加载事件:
            1. onload:一张页面或一幅图像完成加载。
        4. 鼠标事件:
            1. onmousedown    鼠标按钮被按下。
            2. onmouseup    鼠标按键被松开。
            3. onmousemove    鼠标被移动。
            4. onmouseover    鼠标移到某元素之上。
            5. onmouseout    鼠标从某元素移开。
        5. 键盘事件:
            1. onkeydown    某个键盘按键被按下。    
            2. onkeyup        某个键盘按键被松开。
            3. onkeypress    某个键盘按键被按下并松开。
        6. 选择和改变
            1. onchange    域的内容被改变。
            2. onselect    文本被选中。
        7. 表单事件:
            1. onsubmit    确认按钮被点击。
            2. onreset    重置按钮被点击。
        

案例:灯泡开关:

        图片资料

JavaScript对象之DOM和BOM_第1张图片JavaScript对象之DOM和BOM_第2张图片


	



    
    灯泡开关








三、BOM对象

        3.1、BOM对象概念:

    Browser Object Model 浏览器对象模型
    将浏览器的各个组成部分封装成对象。

       3.2、组成

1.* Window:窗口对象
    1. 创建
        直接使用,也可以用window.方法名
    2. 方法
        1. 与弹出框有关的方法:
            alert()    显示带有一段消息和一个确认按钮的警告框。
            confirm()    显示带有一段消息以及确认按钮和取消按钮的对话框。
                * 如果用户点击确定按钮,则方法返回true
                * 如果用户点击取消按钮,则方法返回false
            prompt()    显示可提示用户输入的对话框。
                * 返回值:获取用户输入的值
            代码演示
             

   



    
    window对象







  

2.* Navigator:浏览器对象
3.* Screen:显示器屏幕对象

4.* History:历史记录对象
    1. 创建(获取):
        1. window.history
        2. history
    2. 方法:
        * back()    加载 history 列表中的前一个 URL。
        * forward()    加载 history 列表中的下一个 URL。
        * go(参数)    加载 history 列表中的某个具体页面。
            * 参数:
                * 正数:前进几个历史记录
                * 负数:后退几个历史记录
    3. 属性:
        * length    返回当前窗口历史列表中的 URL 数量。

 5.* Location:地址栏对象
    1. 创建(获取):
        1. window.location
        2. location
    2. 方法
        * reload()    重新加载当前文档。刷新
    3. 属性
        * href    设置或返回完整的 URL。

案例:自动跳转首页





    
    自动跳转首页

    


5秒之后自动跳转到百度....

四、DOM对象简介

       4.1、基本概念:

Document Object Model 文档对象模型
    将标记语言文档的各个组成部分,封装为对象。可以使用这些对象,对标记语言文档进行CRUD的动态操作

HTML DOM 模型被结构化为对象树

对象的HTML DOM 树

JavaScript对象之DOM和BOM_第3张图片

 

通过这个对象模型,JavaScript 获得创建动态 HTML 的所有力量:

  • JavaScript 能改变页面中的所有 HTML 元素
  • JavaScript 能改变页面中的所有 HTML 属性
  • JavaScript 能改变页面中的所有 CSS 样式
  • JavaScript 能删除已有的 HTML 元素和属性
  • JavaScript 能添加新的 HTML 元素和属性
  • JavaScript 能对页面中所有已有的 HTML 事件作出反应
  • JavaScript 能在页面中创建新的 HTML 事件

        4.2、 W3C DOM 标准被分为 3 个不同的部分:

                4.2.1、核心 DOM - 针对任何结构化文档的标准模型

 1. * Document:文档对象
    1. 创建(获取):在html dom模型中可以使用window对象来获取
        1. window.document
        2. document
    2. 方法:
        1. 获取Element对象:
            1. getElementById()    : 根据id属性值获取元素对象。id属性值一般唯一
            2. getElementsByTagName():根据元素名称获取元素对象们。返回值是一个数组
            3. getElementsByClassName():根据Class属性值获取元素对象们。返回值是一个数组
            4. getElementsByName(): 根据name属性值获取元素对象们。返回值是一个数组
        2. 创建其他DOM对象:
            createAttribute(name)
            createComment()
            createElement()
            createTextNode()
   
    代码演示
    

    



    
    document


div1
div2
div3
cla1
cla2

2.* Element:元素对象
    1. 获取/创建:通过document来获取和创建
    2. 方法:
        1. removeAttribute():删除属性
        2. setAttribute():设置属性
    代码实例
     

   



    
    element


点击跳转





3.* Attribute:属性对象
4.* Text:文本对象
5.* Comment:注释对象

6.Node:节点对象,其他5个的父对象
    * 特点:所有dom对象都可以被认为是一个节点
    * 方法:
        * CRUD dom树:
            * appendChild():向节点的子节点列表的结尾添加新的子节点。
            * removeChild()    :删除(并返回)当前节点的指定子节点。
            * replaceChild():用新节点替换一个子节点。
    * 属性:
        * parentNode 返回节点的父节点。
    拓展
        超链接功能
               1.可以被点击,且拥有样式
                2.点击后跳转到href指定的URL
                目前我们的需求是保留1功能,去掉2功能,那么使用固定写法:javascript:void(0)

        代码演示

        





    
    node对象
    




div1
div2
删除结点2 添加结点3

                4.2.2、XML DOM - 针对 XML 文档的标准模型

                4.2.3、HTML DOM - 针对 HTML 文档的标准模型

    1. 标签体的设置和获取:innerHTML
    2. 使用html元素对象的属性
    3. 控制元素样式
        1. 使用元素的style属性来设置
            如:
                 //修改样式方式1
                div1.style.border = "1px solid red";
                div1.style.width = "200px";
                //font-size--> fontSize
                div1.style.fontSize = "20px";
        2. 提前定义好类选择器的样式,通过元素的className属性来设置其class属性值。

        代码演示

        





    
    控制样式




div1
div2

案例:动态表格

        案例效果

JavaScript对象之DOM和BOM_第4张图片

可以添加,可以删除

        代码:

        




    
    动态表格

    




学生信息表
编号 姓名 性别 操作
1 令狐冲 删除
2 任我行 删除
3 岳不群 ? 删除

你可能感兴趣的:(java学习之路,JavaWeb,javascript,前端,linq,BOM,dom)