BOM的认识

BOM对象概念

BOM:浏览器对象模型(地址栏,历史记录,屏幕,滚动条,关闭)

  1. 顶级对象window

     //       下面5个属于window的子对象
     //               document  文档对象
     //               history   历史记录对象
     //               location  地址栏对象
     //               screen    屏幕对象
     //               navigtor  浏览器对象
    
  2. 自定义对象

  3. 内置对象 Array String Math

  4. 宿主对象

window的五大对象

一. document文档对象

  1. body 获取body的
  2. documentElement 获取html的
    console.log(document.body);
    console.log(document.documentElement); // 获取html的

二. screen对象

    // console.log(screen.width);
    // console.log(screen.height);

三. history 历史记录

    // console.log(history);
    //   方法:back()   后退一个页面
    //   方法:forward()   前进一个页面
    //        history.go(-1)  往后退
    //        history.go(1)  往前进

四.location地址栏

    //   host: 主机 域名   host: "www.jd.com"
    //   href: 地址栏信息
    //   pathname:路径名
    //   port: 端口
    //   protocol: 协议名 https http  ftp 
    //  方法:reload() 刷新

//  window.location.reload() ;// 刷新,放在全局位置会一直刷新。f5
//  window.location.reload(true) ;// 强制刷新,放在全局位置会一直刷新。f5+shift

//  不建议放在window全局下

五. navigator: 浏览器相关信息

// console.log(navigator);

window相对的属性和方法

window对象

属性:
  1. innerHeight(浏览器的高度,带滚动条)

  2. innerWidth(浏览器的宽度,带滚动条)

     console.log(window.innerWidth);//
     console.log(innerWidth);//window对象可以省去
     console.log(document.body.clientWidth);//获取元素的可视宽度
    
方法:
  1. alert() 弹出框 等价于 window.alert()
  2. confirm()确认框 带返回值,点击确定返回true,点击取消返回false
  3. prompt()输入框 待返回值 返回你输入的内容
  4. setInterval(回调函数,毫秒值)设置间歇型定时器
  5. clearInterval(定时器名称) 清除间歇型定时器
  6. setTimeout(回调函数,毫秒值) 设置延迟性定时器(超时定时器)
  7. clearTimeout 清除延迟性定时器(超时定时器)
  8. onload() : 等页面资源(页面图片,文字,标签)加载完毕后执行
  9. onscroll(): 页面滚动时会触发
  10. onresize(): 页面窗口变化时触发

BOM操作元素

操作元素

    // 1. 先获取元素
    var oDivs = document.getElementsByTagName('div')[0]
    // 2. 设置样式
    // oDivs.style.width = getRandomNum()+'px'
    // oDivs.style.height = getRandomNum()+'px'
    // oDivs.style.backgroundColor = getColor()
    // oDivs.style.fontSize = getNum(10,80)+'px'
    // oDivs.style.color = "#000"

    oDivs.className = 'box'

    // 3. 设置内容   innerHTML 支持标签   innerText不支持标签
    // oDivs.innerHTML = '<a href="http://www.baidu.com">百度</a>'
    oDivs.innerText = '<a href="http://www.baidu.com">百度</a>'

表格的增加

document.createElement('标签名')
// 1. 获取到tbody
var oTbody = document.getElementById('tbody')
// 创建一行
var oTr = document.createElement('tr')
// 创建列
var oTd1 = document.createElement('td')
var oTd2 = document.createElement('td')
var oTd3 = document.createElement('td')

// 往td1,td2,td2中设置内容
oTd1.innerText = '语文'
oTd2.innerText = '数学'
oTd3.innerText = '英语'

// 把每一列追加放到行中
oTr.appendChild(oTd1)
oTr.appendChild(oTd2)
oTr.appendChild(oTd3)

// 把行追加到tbody中
oTbody.appendChild(oTr)

总结

  1. Window对象
  • 属性:innerWidth和innerHeight document.body.clientWidth
  • 方法:
    alert() 弹出框 等价于 window.alert()
    confirm()确认框 带返回值,点击确定返回true,点击取消返回false
    prompt()输入框 待返回值 返回你输入的内容
    setInterval(回调函数,毫秒值)设置间歇型定时器
    clearInterval(定时器名称) 清除间歇型定时器
    setTimeout(回调函数,毫秒值) 设置延迟性定时器(超时定时器)
    clearTimeout 清除延迟性定时器(超时定时器)
    onload() : 等页面资源(页面图片,文字,标签)加载完毕后执行
    onscroll(): 页面滚动时会触发
    onresize(): 页面窗口变化时触发
    onclick
  1. window对象的五大对象:
  • document 文档对象
  • screen 屏幕对象
  • history 历史对象
  • location 地址栏信息
  • navigator 浏览器对象
  1. DOM: 获取元素oDiv
    document.getElementById(‘id名称’)
    document.getElementsByClassName(‘class名称’)
    document.getElementsByName(‘name值’)
    document.getElementsByTagName(‘标签名称’)

var oDiv = document.querySelector(‘标签名’);获取的是一个,而且是第一个
var oDiv = document.querySelector(’.类名’) 获取的是一个,而且是第一个
var oDiv = document.querySelector(’#id’)获取的是一个,而且是第一个
var oDiv = document.querySelectorAll(‘标签名’)
var oDiv = document.querySelectorAll(‘div’)

  1. 操作元素(分为样式和内容和固有属性)
    oDiv.className=’’
    oDiv.style.属性名=‘属性值’

     //         oDiv.innerHTML = ''
     //         oDiv.innerText = ''
     //  元素的固有属性  element.属性名
     //         oIpt.value = ''
     //         oImg.src = ''
    
  2. 创建元素 oDiv document.createElement(‘标签名’)
    追加元素 父元素.appendChild(子元素)
    删除元素 元素.remove() 删除元素本身
    删除元素 父元素.removeChild(即要删除的节点)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值