dom操作

1、获取元素

getElementById();                     返回类型为element

getElementByTagName();        返回类型为集合

getElementByClassName();      返回类型为集合

querySelector();                        通过id或者类获取第一个符合条件的元素,返回值为element

querySelectorAll();                    通过id或者类获取所有符合条件的元素,返回值为NodeList

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="app1">
        <span class="item1">aaa</span>
        <span class="item1">bbb</span>
        <span class="item1">ccc</span>
    </div>
    <div id="app2">
        <span class="item2">ddd</span>
        <span class="item2">eee</span>
        <span class="item2">fff</span>
    </div>
</body>
<script>
    var oDiv1 = document.getElementById('app1');
    console.log(oDiv1);
    var oDiv2 = document.getElementsByTagName('div');
    console.log(oDiv2);
    var oDiv3 = document.getElementsByClassName('item1');
    console.log(oDiv3);
    var oDiv4 = document.querySelector('#app1');
    console.log(oDiv4);
    var oDiv5 = document.querySelector('.item1');
    console.log(oDiv5);
    var oDiv6 = document.querySelectorAll('#app1');
    console.log(oDiv6);
    var oDiv7 = document.querySelectorAll('.item1');
    console.log(oDiv7);
</script>
</html>复制代码


note:

querySelector()、querySelectorAll()参数需要加'#'或者'.',否则会返回null。

2、获取父元素    parentNode

比如获取<span class="item1">aaa</span>的父元素:

<script>
    var oSpan = document.getElementsByClassName('item1')[0];
    var oDiv = oSpan.parentNode;
    console.log(oDiv);
</script>复制代码


3、获取子元素     childNodes  返回一个nodelist      包括空白部分text

<script>
    var oDiv1 = document.getElementById('app1');
    var child = oDiv1.childNodes;
    console.log(child);
</script>复制代码

4、firstChild   获取到的节点包括空白部分text

<script>
    var oDiv1 = document.getElementById('app1');
    var child = oDiv1.firstChild;
    console.log(child);
</script>复制代码


5、firstElementChild   获取第一个元素element

<script>
    var oDiv1 = document.getElementById('app1');
    var child = oDiv1.firstElementChild;
    console.log(child);
</script>复制代码


6、获取下一个兄弟  区别nextSibling和nextElementSibling

<script>
    var oSpan = document.getElementsByClassName('item1')[1];
    var child = oSpan.nextSibling;
    var child1 = oSpan.nextElementSibling;
    console.log(child);
    console.log(child1);
</script>复制代码


nextSibling包括空白部分,nextElementSibling获取到的是第一个元素。

7、获取前一个兄弟  previousSibling     previousElementSibling   区别同上 


8、创建元素   createElement

<script>
   var oDiv = document.createElement('div');
   document.body.appendChild(oDiv);
   console.log(document.body);
</script>复制代码


note:appendChild为尾插

<script>
    var app1 = document.getElementById('app1');
    var oDiv = document.createElement('div');
    document.body.insertBefore(oDiv,app1);
    console.log(document.body);
</script>
复制代码


note:insertBefore('新创建的元素',‘要插到的某个元素的前面’);

9、遍历删除元素

<script>
    var app1 = document.getElementById('app1');
    while(document.body.firstElementChild){
        document.body.removeChild(document.body.firstElementChild)
    }
    console.log(document.body);
</script>复制代码



注意appendChild();是将一个child元素添加到另一个元素的尾部,并删除它原来所在的位置。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app1">
    <span class="item1">aaa</span>
    <span class="item1">bbb</span>
    <span class="item1">ccc</span>
</div>
<div id="app2">
    <span class="item2">ddd</span>
    <span class="item2">eee</span>
    <span class="item2">fff</span>
</div>
</body>
<script>
    let oDiv1 = document.getElementById('app1');
    let oDiv2 = document.getElementById('app2');
    while(oDiv1.firstElementChild){
        oDiv2.appendChild(oDiv1.firstElementChild);
    }

</script>
</html>复制代码


10、设置样式

oDiv.style.color = 'red';复制代码

11、设置属性

oDiv.setAttribute('type','button'); 复制代码

12、innerHtml和outerHtml、innerText、textContent的区别

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
    <h1>come on</h1>
</div>
</body>
<script>
    var oDiv = document.getElementsByTagName("div")[0];
    console.log(oDiv.innerHTML);
    console.log(oDiv.outerHTML);
    console.log(oDiv.innerText);
    console.log(oDiv.textContent);
</script>
</html>复制代码


innerHtml:获取元素里面的HTML标签和text内容。

outerHtml:获取元素本身和里面的HTML标签和text内容。

innerText:获取元素里面的text文本。

textContent:获取元素里面的text文本(包括空白部分)。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值