DOM
‘D’:
document(文档):这是一个对象,一个容纳你所写的所有内容的对象.(我认为)
‘O’:
对象object: 其中与某个特定对象相关联的变量被称为这个对象的属性;只能通过某个特定对象去调用的函数被称为这个对象的方法。
对象分为三类:
1.用户定义对象(user-defined object);
2.内建对象(native object);
3.宿主对象(host object);
提示:在JS初期有最基础宿主对象(浏览器提供的对象)----window对象.window 对象对应着浏览器窗口本身,这个对象的属性和方法通常统称为BOM(浏览器对象模型.
‘M’:
模型(不太明白是什么).
DOM树:
DOM将文
档表示为一棵家谱树
其中家谱树本身又是一种模型。家谱树的典型用法是表示一个人类家族的谱系,并使用parent(父)、child(子)、sibling(兄弟)等记号来表明家族成员之间的关系。
_ 标签就是树根
<!DOCTYPE html>
<html lang="en">
<head>/*其标签就是meta标签和title标签的父元素*/
<meta charset="utf-8" />/*其是title标签的兄弟元素*/
<title>Shopping list</title>
</head>
<body>
<h1>What to buy</h1>
<p title="a gentle reminder">Don't forget to buy this stuff.</p>
<ul id="purchases">
<li>A tin of beans</li>
<li class="sale">Cheese</li>
<li class="sale important">Milk</li>
</ul>
</body>
</html>
节点:
文档是由节点构成的集合,只不过此时的节点是文档树上的树枝和树叶而已.(非常赞同)
元素节点:
/例如,
…
/文本节点:
/例如
元素包含着文本“Don’t forget to buy this stuff.”。它是一个文本节点/
属性节点:
/属性结点用来对元素做出更具体的描述。像
标签的title属性就算属性标签,属性节点总是被包含在元素节点中./
获取元素:
getElementById(id 属性):
这个方法将返回一个与那个有着给定id 属性值的元素节点对应的对象。
提示:只有一个参数:你想获得的那个元素的id 属性的值,这个id 值必须放在单引号或双引号里。
document.getElementById("purchases")
typeof document.getElementById("purchases")/*typeof操作符告诉我哦们其操作数的类型*/
getElementsByTagName(标签的名字)
(注意)方法返回一个对象数组,每个对象分别对应着文档里有着给定标签的一个元素。
提示:既然是数组就可以采用length属性查看该文档中含有多少的该标签
let items = document.getElementsByTagName("li");
for (var i=0; i < items.length; i++) {
alert(typeof items[i]);/*可以输出每个类型,均为object*/
}
拓展:星号字符“* ”可以代表所有元素放在参数位置上,必须加上双引号,就可以文档里总共有多少个(元素节点)
alert(document.getElementsByTagName("*").length);
getElementsByClassName(class 属性)
它的返回值也与getElementsByTagName 类似,都是一个具有相同类名的元素的数组
document.getElementsByClassName("important sale").length;
/*表示带有important sale属性的元素个数.
##获取和设置属性:
getAttribute(查询的属性)
对象.getAttribute(attribute)
它不属于document 对象,它只能通过元素节点对象调用.
返回属性值,若没有该属性,返回null;
setAttribute(属性,值)
__把这个元素的你想设置的属性值设置为你想设置的值 __如不存在则创建该属性,在赋值.