BOM操作与DOM操作

BOM操作

BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。

Window 对象表示浏览器中打开的窗口,在调用window对象的方法和属性时,可以省略window对象的引用。例如:window.open()可以简写成:open()。

页面操作

方法 描述
open() 打开新窗口,可以规定url和新窗口大小等
close() 关闭窗口
history.forward() 前进下一页
history.back() 返回上一页
location.href 获取页面的url地址
location.reload() 刷新页面
location.href = url 跳转到指定url页面

弹出框

警告框

alert("警告内容");

确认框

用户点确认返回true,点取消返回false。

confirm("确认内容")

提示框

prompt("提示内容","输入框内容(可不写)")

计时器

js里可以给一些操作进行定时。

function showMsg(){
    console.log("时间到了")
}

单次定时

// 赋值给变量以便后续操作
var t = setTimeout(showMsg, 3000)  // 3秒钟之后执行一次showMsg

循环定时

// 赋值给变量以便后续操作 
var s = setInterval(showMsg,3000)  // 每隔3秒执行一次

取消定时

clearTimeout(定时器对象)
clearInterval(定时器对象)

DOM操作

DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所有元素。

直接查找

通过标签名查找标签

// 查找div标签
document.getElementsByTagName('div')  // 数组套标签对象

通过class值查找标签

// 查找class值为c1的
document.getElementsByClassName('c1')  // 数组套标签对象

通过id值查找标签

// 查找id值为d1的
document.getElementById('d1')  // 因为是id只有一个,只返回一个对象

间接查找

直接查找到的标签还可以通过以下方法间接查找其他标签。

方法 描述
parentElement 父节点标签元素
children 所有子标签
firstElementChild 第一个子标签元素
lastElementChild 最后一个子标签元素
nextElementSibling 下一个兄弟标签元素
previousElementSibling 上一个兄弟标签元素

创建标签对象

创建空标签对象。

var pEle = document.createElement('p')  // 创建p标签

标签对象的属性

获取或创建了标签对象后,可以直接给点+属性名的方式设置标签属性值。如:

标签对象.id = 'p1'  // 把标签的id属性设为'p1'
标签对象.style = 'color:red'  // 把标签的内容颜色变为红色
标签对象.value  // 表单标签中可以获取用户输入的数据
标签对象.files  // 获取用户上传的文件,结果是一个数组,可以通过索引获取具体文件对象

上述方法只能设置标签默认已有的属性,无法设置标签自定义的一些属性,但是使用Attribute方法就可以:

// 添加自定义属性
标签对象.setAttibute("任意属性名", "值")
// 获取标签属性的值
标签对象.getAttibute("属性名")
// 删除标签属性
标签对象.removeAttibute("属性名")

innerText与innerHTML

标签对象有两个关于标签内部内容的属性:innerText与innerHTML。

标签对象.innerText
标签对象.innerHTML
不同情况 区别
获取值的时候 innerText只会获取文本内容;
innerHTML获取文本和标签
设置值的时候 innerText不识别标签语法
innerHTML识别标签语法

标签内部追加内容

标签对象.append("内容")  // 直接追加内容
标签对象.append(其他标签对象)  // 标签内部结尾追加标签

属性操作

class属性操作

方法 描述
标签对象.classList 查看所有的类属性
标签对象.classList.add("值") 添加class属性的值
标签对象.classList.remove("值") 移除class属性的值
标签对象.classList.contains("值") 判断是否含有某个class属性的值
标签对象.classList.toggle("值") 有则移除这个class值,无则添加这个class值

样式操作

改变标签的样式需要更改style属性的值,style属性.css属性也可以更改css样式。

标签对象.style.color = 'red'  // 设置标签内容的颜色为red
标签对象.style.fontSize = '18px'  // 设置标签内容大小为18px

注意:style里的属性值设置时没有-,如:font-size需要写成fontSize。

posted @ 2022-04-29 17:52  Yume_Minami  阅读(72)  评论(0编辑  收藏  举报