DOM(四):h5扩展方法

getElementByClassName()方法
getElementByClassName()方法接收一个参数,即一个包含一或多个类名的字符串,返回带有指定类的所有元素的NodeList

//取得所有类中包含'username'和'current'的元素,类名的先后顺序无所谓
var allCurrentUsernames = document.getElementByClassName('username current');
//取得ID为'myDiv'的元素中带有雷鸣'selected'的所有元素
var selected = document.getElementById('myDiv').getElementByClassName('selected');

focus()

document.activeElement属性,这个属性会引用dom中当前获得了焦点的元素。元素获取焦点的方式有页面加载,用户输入和在代码中调用focus()方法

var button = document.getElementById('myButton');
button.focus();
console.log(document.activeElement == button); //true

document.hasFocus()方法,这个方法用于确定文档是否获得了焦点
var button = document.getElementById('myButton');
button.focus();
console.log(document.hasFocus()); //true


readyState属性
document的readyState属性有两个可能的值

loading,正在加载文档
complete,已经加载完文档

使用document.readyState的最恰当方式,就是通过它来实现一个指示文档已经加载完成的指示器

if(document.readyState == 'complete'){
//执行操作
}

检测页面的兼容模式
ie为此给document添加了一个名为compatMode的属性,告诉开发人员浏览器采用了哪种渲染模式。

if(document.compatMode == 'CSS1Compat'){
    console.log('标准模式');
}else{
    console.log('混杂模式');
}

scrollInfoView()方法
可以在所有html元素上调用,通过滚动浏览器窗口或某个容器元素,调用元素就可以出现在视口中。

//让元素可见
document.forms[0].scrollInfoView();

当页面发生变化时,一般会用这个方法来吸引用户的注意力。实际上,为某个元素设置焦点也会导致浏览器滚动并显示出获得焦点的元素。D

原文地址:https://www.cnblogs.com/wzndkj/p/8776079.html