赞
踩
核心方法:querySelector()
和querySelectorAll()
querySelector()
方法:
接收一个CSS选择符,返回与该模式匹配的第一个元素
//取得body元素
var body = document.querySelector("body");
//取得ID为"myDiv"的元素
var myDiv = document.querySelector("#myDiv");
//取得类为"selected"的第一个元素
var selected = document.querySelector(".selected");
//取得类为"button"的第一个图像元素
var img = document.body.querySelector("img.button");
querySelectorAll()
:
接收一个CSS选择符,返回一个NodeList实例
能够调用该方法的类型包括:Document、DocumentFragment和Element
//取得某<div>中的所有<em>元素(类似于getElementsByTagName("em"))
var ems = document.getElementById("myDiv").querySelectorAll("em");
//取得类为"selected"的所有元素
var selecteds = document.querySelectorAll(".selected");
//取得所有<p>元素中的所有<strong>元素
var strongs = document.querySelectorAll("p strong");
要取得NodeList中每一个元素,可以使用item()方法,也可以使用方括号语法
matchesSelector()
:
Element类型的方法。接收一个CSS选择符,如果调用元素与该选择符匹配,返回true,否则返回false
DOM元素添加的5个属性:
let i, len, child = element.firstElementChild;
while(child !== element.lastElementChild){
processChild(child);
child = child.nextElementSibling;
}
getElementsByClassName()
接收一个参数:包含一个或多个类名的字符串
//取得所有类中包含"username"和"current"的元素,类名的先后顺序无所谓
var allCurrentUsernames = document.getElementsByClassName("username current");
//取得ID 为"myDiv"的元素中带有类名"selected"的所有元素
var selected = document.getElementById("myDiv").getElementsByClassName("selected");
在document对象上调用getELementByClassName()始终会返回所有与类名相匹配的元素,在元素上调用该方法就只会返回后代元素中匹配的元素
classList
属性
classList属性是新集合类型DOMTokenList的实例
方法:
eg
:div.classList.toggle("user");
焦点管理:
document.activeElement
属性,始终会引用DOM中获得了焦点的元素,获得焦点的方式:页面加载,用户输入(通常是按Tab键)和在代码中调用fucus()方法
var button = document.getElementById("myButton");
button.focus();
alert(document.activeElement === button); //true
默认情况下,文档刚加载完成时,document.activeElement中保存的是document.body元素的引用。文档加载期间值为null
document.hasFocus()
var button = document.getElementById("myButton");
button.focus();
alert(document.hasFocus()); //true
HTMLDocument
readyState:
兼容模式compatMode:
CSS1Compat
BackCompat
head:
let head = document.head || document.getElementByTagName("head")[0]
字符集属性:
charset
document.charset = "UTF-8";
defaultCharset:根据默认浏览器及操作系统的设置,当前文档的默认字符集
自定义数据属性:
添加前缀data-
插入标记:
innerHTML:返回与调用元素的所有子节点对应的HTML标记(返回含在调用元素标记之间的字符串),若没有子代元素,将返回纯文本
outerHTML:返回调用它的元素及其所有子节点的HTML标签
insertAdjacentHTML():接收两个参数:插入位置和要插入的HTML文本,第一个参数必须是以下值:
//作为前一个同辈元素插入
element.insertAdjacentHTML("beforebegin", "<p>Hello world!</p>");
scrollIntoView():滚动窗口:
document.forms[0].scrollIntoView();
专有拓展
文档模式
children属性:HTMLCollection的实例:只包含元素中同样还是元素的子节点
contains()方法:如果传入的参数节点是后代节点则返回true
插入文本:
innerText属性:
读取值:按照由浅入深的顺序将子文档树的所有文本都拼接起来。
写入值:删除元素的所有子节点,插入包含相应文本值的文本节点
过滤HTML标签:
div.innerText = div.innerText;
outerText属性
滚动:
响应某个事件的函数叫做事件处理程序(或事件侦听器)。事件处理程序的名字以on
开头
HTML事件处理程序
<input type="button" value="Click Me" onclick="alert('Clicked')"/>
一些特殊符号要转义
<script type="text/javascript">
function say() {
alert("hello world");
}
</script>
<input type="button" value="Click Me" onclick="say()"/>
<input type="button" value="Click you" onclick="alert(this.value)">
<input type="button" value="Click you" onclick="alert(value)">
<form method="post">
<input type="text" name="username" value=""></
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。