1,什么是DOM?
1.DOM--->D
ocument
O
bject
Mode
2.DOM定义了表示和修改文档所需的方法。
DOM
对象即为宿主对象,由浏览器厂商定义,用来操作
HTML
和
XML
功能的一类对象的集合,也有人称
DOM
是对
HTML
及
XML的标准编程接口。
2,document对象常用方法
方法 | 描述 |
---|---|
getElementById() | 返回对拥有指定id的第一个对象的引用 |
getElementsByName() | 返回带有指定名称的对象的集合 |
getElementsByTagName() | 返回带有指定标签名的对象的集合 |
getElementsByClassName() | 返回带有指定类名的对象的集合 |
write() | 向文档写文本、HTML表达式或JavaScript代码 |
3,js修改样式
Obj.style
.
属性
=“
值
”;
例如:
Obj.style.width=“100px”;
Obj.style.marginTop=“10px”;
Obj.stlye.lineHeight=“24px”
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#div{
width: 200px;
height: 200px;
border: 2px solid red;
}
</style>
</head>
<body>
<div id="div">
你好你是猪
</div>
<button type="button" onclick="cc()"></button>
<script>
function cc(){
var div=document.getElementById('div');
div.style.width='300px';
div.style.fontSize='40px';
}
</script>
</body>
</html>
4,页面的显示与隐藏
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#div{
width: 200px;
height: 200px;
border: 2px solid red;
}
.h{
display: none;
}
</style>
</head>
<body>
<div id="div">
你好你是猪
</div>
<button type="button" onclick="cc()"></button>
<script>
function cc(){
var div=document.getElementById('div');
var dd=div.style.display;
if(dd!=='none'){
div.style.display='none';
}else{
div.style.display='block';
}
var div=document.getElementById('div');
div.classList.toggle('h')
}
</script>
</body>
</html>
5,查询节点
document
getElementById()
通过id获取元素
getElementsByTagName()
通过标签名获取节点列表
getElementsByClassName()
通过类名获取节点列表
getElementsByName()
通过名称获取列表
querySelector()
通过css选择器获取节点
querySelectorAll()
通过css选择器获取节点列表
6,遍历节点
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h1 id="dom">解决解决军军军军军军军军军军</h1>
<p>你好1</p>
<p>你好2</p>
<p>你好3</p>
<h1>dom的节点查询</h1>
<script>
document文档 git获取 Element元素节点 By通过 Id唯一识别的标识符
var dom = document.getElementById('dom');
console.log(dom, dom.innerText)
// element多个节点 By通过 Tag标签 Name名称
// byTagname 通过标签名获取多个节点 (类似数组的集合)
var ps = document.getElementsByTagName('p');
console.log(ps, ps[0].innerText);
var fav = document.getElementsByName(fav);
fav[1].checked = true
console.log(fav)
0.1
var ps=document.getElementsByTagName('p');
for(var i=0;i<ps.length;i++){
console.log(ps[i],ps[i].innerText);
}
0.2
var arr=Array.from(ps);//转换为数组
arr.forEach(function(elem){
console.log(elem,elem.innerText)
})
</script>
</body>
</html>
7,改变层内容
innerText
获取/改变文本内容
innerHTML
获取/改变html内容
8,通过style修改样式
elem.style.width="400px"
修改样式
elem.style.fontSize="48px"
注意使用驼峰命令也可以通过
elem.style.width 来获取行内样式
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#div{
width: 200px;
height: 200px;
border: 2px solid red;
}
</style>
</head>
<body>
<div id="div">
你好你是猪
</div>
<button type="button" onclick="cc()"></button>
<script>
function cc(){
var div=document.getElementById('div');
div.style.width='300px';
div.style.fontSize='40px';
}
</script>
</body>
</html>