DOM基础01
来源:互联网 发布:最难的网络游戏知乎 编辑:程序博客网 时间:2024/05/16 14:34
<!DOCTYPE html>
<html>
<head>
<metacharset="UTF-8">
<title>DOM基础01</title>
<styletype="text/css">
#p1{
visibility:hidden;
}
#div1{
width:200px;
height:100px;
background: red;
}
</style>
</head>
<body>
<!--
JS的组成部分:
1.js基础
2.DOM
3.BOM
DOM : Document Object Model 文档对象模型,提供了访问html文档的方法,允许我们对html里的元素做增删改查.
DOM树: 当html文档加载完毕之后,浏览器就会创建一个树状结构.DOM树中有很多节点.
节点的类型:
1.元素节点: <div></div> <html></html> <body></body>
2.文本节点: 内容 "DOM基础01"
3.注释节点: <!-- 注释内容 -->
<!-- 4.文档节点: document
5.声明节点 <!DOCTYPE html>
节点与节点的关系:
1.父节点
2.子节点
3.兄弟节点
-->
这是一段内容<span></span>
<p id="p1">
<imgsrc="" alt=""/>
<!--这是p标签的注释-->
这是一个p标签!
</p>
<div class="box"></div>
<div class="box"></div>
<uiid="fruit">
苹果�
<li>香蕉�</li>
<li>橘子�</li>
西瓜�
</ui>
<input type="text"/>
<div id="div1"></div>
<scripttype="text/javascript">
//查找元素节点
//1.通过id查找元素节点,返回的是一个节点.
varp = document.getElementById("p1");
//2.通过类查找节点,返回的是一个或多个节点的数组.
varboxes = document.getElementsByClassName("box");
//3.通过标签名查找节点,返回的是一个或多个节点的数组.
vardivs = document.getElementsByTagName("div");
//4.通过选择器查找元素,查找到匹配的第一个
vardiv = document.querySelector("div");
//5.通过选择器查找元素,查找匹配的所有元素
varelements = document.querySelectorAll("*");
/*
* 一.特殊节点:
*/
// 1.文档节点
// console.log(document);
//2.documentElement html节点
// console.log(document.documentElement);
//3.body节点
// console.log(document.body);
//4.head节点
// console.log(document.head);
//5.声明节点
// console.log(document.doctype);
/*
* 二.通过节点关系获取节点
*/
//1.childNodes 获取到某个节点的子节点(只允许为父子关系),返回的是一个数组
// console.log(document.childNodes);
//children
//2.parentNode 获取到某个节点的父节点(只有一个)
// console.log(document.head.parentNode);
//3.firstChild 获取某个节点的第一个子节点(任何节点都包含,包括空格);
// console.log(document.head.firstChild);
//4.firstElementChild 获取某个节点的第一个子元素节点;
// console.log(document.head.firstElementChild);
//5.lastChild 获取某个节点的最后一个子节点(任何节点都包含);
// console.log(document.head.lastChild);
//6.lastElementChild 获取某个节点的最后一个子元素节点;
// console.log(document.head.lastElementChild);
//7.previousSibling 获取某个元素上一个兄弟节点(任何节点都包含);
// console.log(p.previousSibling);
//8.previousElementSibling 获取某个元素上一个兄弟元素节点
// console.log(p.previousElementSibling);
//9.nextSibling 获取某个元素下个兄弟节点(任何节点都包含);
//10.nextElementSibling 获取某个元素下一个兄弟元素节点
// console.log(p.nextElementSibling);
/*
* 三.节点的属性
*/
//1.nodeValue 节点的值
//获取元素节点
varp = document.getElementById("p1");
// console.log(p.nodeValue);
//文本节点
vartext = p.previousElementSibling.previousSibling;
// console.log(texts.nodeValue);
//注释节点
varcommentNode = document.body.childNodes[1];
// console.log(commentNode.nodeValue);
//文档节点
// console.log(document.nodeValue);
//声明节点
// console.log(document.doctype.nodeValue);
/*
* 文本节点和注释节点的nodeValue值是其对应的内容,其他类型的节点打印结果是null.
*/
//2.nodeType 节点的类型
console.log(p.nodeType);//1 代表元素节点
console.log(text.nodeType);//3 文本节点
console.log(commentNode.nodeType);//8 注释节点
console.log(document.nodeType);//9 文档节点
console.log(document.doctype.nodeType);//10 声明节点
/*
* 3.nodeName 节点的名字
*/
console.log(div.nodeName);
console.log(text.nodeName);
console.log(commentNode.nodeName);
console.log(document.nodeName);
console.log(document.doctype.nodeName);
/*
* 元素节点: 元素的标签名(全大写)
* 文本节点: #text
* 注释节点: #comment
* 文档节点: #document
* 声明节点: html
*/
/*
* 4.获取"元素节点"里的内容(开始标签和结束标签里的信息)
*/
//a.innerHTML 取到对应节点里所有的内容,包括文本节点,元素节点,注释节点.
console.log(p.innerHTML);
//b.innerText 获取对应节点里的文本节点,忽略多余的空格;不会显示被隐藏的内容
console.log(p.innerText);
//c.textContent 获取对应节点里的文本节点,保留多余的空格,会显示被隐藏的元素的文本内容.
console.log(p.textContent);
varfruit = document.getElementById("fruit");
console.log(fruit.firstChild);
console.log(fruit.firstElementChild.innerHTML);
console.log(fruit.lastElementChild.innerHTML);
console.log(fruit.lastChild);
/*
* 5.元素属性的操作
*/
varinputs = document.querySelector("input");
//a. 设置一个属性 setAttribute(属性名, 属性值)
inputs.setAttribute("placeholder","请输入用户名");
//b. 获取对应的属性值 getAttribute(属性名)
console.log(inputs.getAttribute("placeholder"));
//c. 删除对应的属性名 removeAtrribute(属性名)
inputs.removeAttribute("placeholder");
/*
* 6.元素节点的样式
*/
//a. style 是对对应元素的行间样式进行设置或获取;
//b. getComputedStyle(元素, 伪类)
// console.log(getComputedStyle(div1))
//获取所有的样式中指定的样式值(两种方法)
//(1) getComputedStyle(元素).样式名
//(2) getComputedStyle(元素)["样式名"]
console.log(getComputedStyle(div1).width)
console.log(getComputedStyle(div1)["backgroundColor"]);
//c.仅仅适用与ie浏览器的获取所有样式的方法 currentStyle
console.log(div1.currentStyle);
/*
* 7.创建节点
*/
//a.创建元素节点 createElement("标签名"),会返回创建好的元素;
varimg = document.createElement("img");
img.src= "img/01.jpg";
//img.style.width = "200px";//样式
img.width= 500;//属性
//b.创建文本节点 createTextNode("文本内容")
vart = document.createTextNode("这是创建出来的一段文本");
//c.创建注释节点 createComment("对应的注释");
varc = document.createComment("这是创建出来的注释");
/*
* 8.将创建好的节点插入到文档中
*/
//a. appendChild() 将创建好的节点追加到最后面.
//想把节点追加到谁里面,就用谁去调用该方法
document.body.appendChild(img);
document.body.appendChild(t);
console.log(document.body.appendChild(c));
//b.insertBefore(a1,a2) 在a2节点之前插入a1节点
varimg2 = document.createElement("img");
img2.src= "img/02.jpg";
img2.width= 200;
document.body.insertBefore(img2,img);
//c.替换节点 replaceChild(a1, a2) 用a1节点替换a2节点
varimg3 = document.createElement("img");
img3.src= "img/03.jpg";
img3.width= 200;
document.body.replaceChild(img3,img2);
//d.删除节点 removeChild() 删除对应的节点
document.body.removeChild(img3);
</script>
</body>
</html>
- DOM基础01
- DOM 基础
- DOM基础
- DOM基础
- DOM基础
- Dom基础
- Dom基础
- DOM基础
- DOM基础
- DOM基础
- DOM基础
- DOM基础
- DOM基础
- DOM基础
- DOM基础
- DOM基础
- DOM基础
- DOM基础
- 滴滴顺风车体验
- 《剑指offer》两个栈建立队列
- optionMenu如何弹出
- Linux&C语言文件操作学习笔记(一):基本概念与简单函数
- 运维角度浅谈MySQL数据库优化
- DOM基础01
- D - Apple Catching
- 如果让我来培养一个软件专业web端的大学生
- makefile用法(百度)
- 购物车
- 没关系,是爱情啊 经典台词
- Alien Skin Exposure X 2.0.0.396 简体中文完美汉化 最好的胶片效果滤镜
- AlertDialog源码解析之一
- Android Studio混淆打包忽略第三方jar包配置