DOM、BOM

DOM

概述:DOM是将文档(页面)表现为结构化的表示方法、 使每一个页面元素都是可操控,DOM将网页和脚本以及其他的编程语言联系了起来。

新建
    创建元素节点
        createElement(标签名)
    直接设置属性
        setAttribute(name,value)
    cloneNude(true、false)
        true包含子节点
        false 不包含

插入
    拼接节点
        appendChild()
    插入节点
        insertBefore(new,old)

删除子节点
    removeChild()

删除属性节点
    removeAttributeNode()

替换节点
    需要用父级来调用
        replaceChild(new,old)

修改属性值
    setAttribute()

getElementById()
    通过id名称获取元素
    返回类数组集合
getElementsByTagName()
    通过标签名获取元素
    返回类数组集合
getElementsByClassName()
    通过class名获取元素
    返回类数组集合
    ie6,ie7不适用
getElementsByName()
    表单常用,通过表单的name名获取元素
    返回类数组集合
querySelector()
    新的ECMA6标准
    通过CSS选择器获取元素
    返回匹配元素
querySelectorAll()
    新的ECMA6标准
    通过CSS选择器获取元素
    返回类数组集合
获取下一个兄弟节点
    nextSibling
        有兼容问题,ie9以上及safari、chrome、firefox会将后边的换行部分作为节点进行处理
        可以使用nodeType来查看节点类型
        nodeType返回值
            1.元素节点
            2.属性节点
            3.文本节点
            8注释
        兼容使用
            dEl.nextSibling.nodeType==1?dEl.nextSibling:dEl.nextSibling.nextSibling
    nextElementSibing
        可以忽略文档节点,只获取元素节点,但是,ie6,7,8不认
获取上一个兄弟节点
    previousSibling
        同上 兼容使用
            dEl.previousSibling.nodeType==1?dEl.previousSibling:dEl.previousSibling.previousSibling;
    previousElementSibling
        直接获取元素节点,问题同上
获取子节点
    第一个子节点
        firstChild
            ie6,7,8没问题,现代浏览器有问题
        fistElementChild
            ie6,7,8不兼容
        判断当前浏览器的版本
    最后一个子节点
        lastChild
        lastElementChild
        问题同上
    获取子节点
        childNodes
            会获取非元素类型的子节点
        pro children
            获取元素子节点,没有兼容问题
            推荐使用
获取父节点
    pro parentNode
获取节点后的操作
    1.通过点语法调用标签属性
    2.通过style属性 控制样式
    3.通过classList控制样式
        add(class1,class2,......)   添加类名
        remove(class1,class2,.....)  删除类名
        replace(oldClass,newClass) 替换类名
        contains(class)  是否包含某个类名,返回布尔值
        toggle(class,true|false)
            如果类名存在就删除,不存在就添加,第二个参数代表强制,ture添加,false删除

BOM

window对象

窗口位置
    screenLeft 返回浏览器窗口左上角相对于当前屏幕左上角的水平距离,不兼容FF浏览器
    screen Top 返回浏览器窗口左上角相对于当前屏幕左上角的垂直距离,不兼容FF浏览器
    screenX 功能screenLeft,兼容FF
    screenY功能同screenTop,兼容FF
窗口大小(IE9一下不兼容)
    innerWidth 返回网页在当前窗口中可见部分的宽度,包含滚动条宽度
    innerHeight 返回网页在当前窗口中可见部分的高度,包含滚动条高度
    outerWidth 返回浏览器窗口宽度,包含浏览器菜单和边框
    outerHeight 返回浏览器窗口的高度,包含浏览器菜单和边框
打开窗口
    window.open()
        打开一个新的浏览器窗口,接受四个参数
(URL/打开方式/窗口函数/是否取代当前页面历史记录的布尔值)
        第三个参数示例
            width=500,height=500
    window.close()
        关闭新打开的窗口(仅限open()打开的窗口)

window子对象

screen对象
    功能:包含显示设备的信息
    个别属性列举:
        screen.height、screen.width返回设备的分辨率
        screen.availWidth、screen.availHeight返回屏幕可用宽高,值为屏幕实际大小减去操作系统某些功能占据的空间,如系统任务栏
location对象
    功能
        保存当前文档信息、将URL解析为独立片段
    属性
        href
            返回当前页面完整的URL
            修改这个属性,即跳转新页面
        hash
            返回URL中的hash(#号后跟零或多个字符)
        host
            返回服务器名称的端口号
        port
            返回服务器端口号
        pathname
            返回URL中的目录和文件名
        hostname
            返回不带端口号的服务器名称
        protocol
            返回页面使用的协议(http://或https://)
        search
            返回URL的查询字符串,字符串以问号开头
navigator对象
    提供一系列属性用于检测浏览器
    onLine
        是否联网
    userAgent
        浏览器嗅探
        检测浏览器的类型
history对象
    功能:保存用户上网的历史记录
    方法、属性:
        go()在用户历史记录中任意跳转,接受一个参数,表示前后跳转页数的整数值(后退一页-1,前进一页1),也可传字符串参数,跳转到第一个包含该字符串的位置
        back()后退
        forward()后退
        length属性保存历史记录的数量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值