<body><divclass="box"></div><script>var div = document.querySelector('div');
console.log(div.className);// box</script></body>
也可以设置元素的类名,不过是全覆盖式操作
<body><divclass="box"></div><script>var div = document.querySelector('div');
div.className ='test';
console.log(div);// <div class="test"></div></script></body>
- 在设置的时候,不管之前有没有类名,都会全部被设置的值覆盖
DOM节点
DOM的节点我们一般分为常用的三大类元素节点、文本节点、属性节点
什么是分类,比如我们在获取元素的时候,通过各种方法获取到的我们叫做元素节点(标签节点)
比如我们标签里面写的文字,那么就是文本节点
写在每一个标签是的属性,就是属性节点
元素节点
我们通过getElementBy...获取到的都是元素节点
属性节点
我们通过getAttribute获取到的就是元素的属性节点
文本节点
我们通过innerText获取到的就是元素的文本节点
获取节点
childNodes
childNodes:获取某一个节点下 所有的子一级节点
<body><div><p>hello</p></div><script>// 这个 oDiv 获取的是页面中的 div 元素,就是一个元素节点var oDiv = document.querySelsctor('div');
console.log(oDiv.childNodes);/*
NodeList(3) [text, p, text]
0: text
1: p
2: text
length: 3
__proto__: NodeList
*/</script></body>
- 我们会发现,拿到以后是一个伪数组,里面有三个节点
- 一个text:从<div>一直到<p>,中间有一个换行和一队空格,这个是第一个节点,是一个文本节点
- 一个 p :这个 p 标签就是第二个节点,这个是一个元素节点
- 一个 text:从 </p> 一直到 </div> 中间有一个换行和一堆空格,这个是第三个节点,是一个文本节点
parentNode
parentNode:获取某一个节点的父节点
<body><ul><liid="a">hello</li><liid="b">world</li><liid="c">!!!</li></ul><script>// 这个 oLi 获取的是页面中的 li 元素,就是一个元素节点var oLi = document.querySelector('#b');
console.log(oLi.parentNode);// <ul>...</ul></script></body>
- 只获取一个节点,不再是伪数组
- 获取的是当前这个 li 的父元素节点
- 因为这个 li 的父亲就是 ul ,所以获取到的就是 ul ,是一个元素节点
attributes
attributes:获取某一个元素节点的所有属性节点
<body><ul><liid="a"a="100"test="test">hello</li></ul><script>// 这个 oLi 获取的是页面中的 li 元素,就是一个元素节点var oLi = document.querySelector('#a');
console.log(oLi.attributes);/*
NamedNodeMap {0: id, 1: a, 2: test, id: id, a: a, test: test, length: 3}
0: id
1: a
2: test
length: 3
a: a
id: id
test: test
__proto__: NamedNodeMap
*/</script></body>
js">// 创建一个 div 元素节点var oDiv = document.createElement('div');var oText = document.createTextNode('我是一个文本');// 向 div 中追加一个文本节点
oDiv.appendChild(oText);
console.log(oDiv);// <div>我是一个文本</div>
insertBefore
insertBefore:向某一个节点前插入一个节点
语法:父节点.insertBefore(要插入的节点,插入在哪一个节点的前面);
<body><div><p>我是一个 p 标签</p></div><script>var oDiv = document.querySelector('div');var oP = oDiv.querySelector('p');// 创建一个元素节点var oSpan = document.createElement('span');// 将这个元素节点添加到 div 下的 p 的前面
oDiv.insertBefore(oSpan, oP);
console.log(oDiv);/*
<div>
<span></span>
<p>我是一个 p 标签</p>
</div>
*/</script></body>
删除页面中的某一个节点
removeChild
removeChild:移除某一节点下的某一个节点
语法:父节点.removeChild(要移除的字节点);
<body><div><p>我是一个 p 标签</p></div><script>var oDiv = document.querySelector('div')var oP = oDiv.querySelector('p')// 移除 div 下面的 p 标签
oDiv.removeChild(oP)
console.log(oDiv)// <div></div></script></body>
修改页面中的某一个节点
replaceChild
replaceChild:将页面中的某一个节点替换掉
语法:父节点.replaceChild(新节点,旧节点);
<body><div><p>我是一个 p 标签</p></div><script>var oDiv = document.querySelector('div')var oP = oDiv.querySelector('p')// 创建一个 span 节点var oSpan = document.createElement('span')// 向 span 元素中加点文字
oSpan.innerHTML ='我是新创建的 span 标签'// 用创建的 span 标签替换原先 div 下的 p 标签
oDiv.replaceChild(oSpan, oP)
console.log(oDiv)/*
<div>
<span>我是新创建的 span 标签</span>
</div>
*/</script></body>
type:
表示发送请求的类型,string类型,有 GET POST PUT DELETE,最常用的就是GET POST,GET一般用于从服务器端获取数据,POST一般用于向服务器端发送数据。
(简述二者的不同点:GET当然也可以…