基础DOM操作

Original 2019-05-07 01:53:02 291
abstract:<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>DOM操作</title></head><body><ul id=&q

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>DOM操作</title>
</head>
<body>
<ul id="poetry" class="poetry">
   <li id="display1">山有木兮木有枝,心悦君兮君不知。——佚名《越人歌》</li>
   <li id="display2">人生若只如初见,何事秋风悲画扇。——纳兰性德《木兰词·拟古决绝词柬友》</li>
   <li class="display1">曾经沧海难为水,除却巫山不是云。——元稹《离思五首·其四》</li>
   <li class="display2">玲珑骰子安红豆,入骨相思知不知。——温庭筠《南歌子词二首 / 新添声杨柳枝词》</li>
   <li class="display3">入我相思门,知我相思苦。——李白《三五七言 / 秋风词》</li>
   <li>平生不会相思,才会相思,便害相思。——徐再思《折桂令·春情》</li>
</ul>

<form action="" name="login">
   <label for="username">用户名:</label>
   <input id="username" type="text" name="username" placeholder="用户名">

   <label for="password">密码:</label>
   <input id="password" type="password" name="password" placeholder="******">

   <input type="button" value="登录">
</form>

<img src="img/1.jpg" alt="" name="pic">

<form action="" name="register">
   <label for="username1">用户名:</label>
   <input id="username1" type="text" name="username1" placeholder="用户名">

   <label for="mobile">手机号:</label>
   <input id="mobile" type="number" name="mobile" placeholder="手机号">

   <label for="password1">密码:</label>
   <input id="password1" type="password" name="password1" placeholder="******">

   <input type="button" value="登录">
</form>

<a href="#" name="c">ccccccc</a>
<script>
   //============================== 根据ID获取元素 =======================================


   //获取id='poetry'的元素,修改它的样式
   let poetry = document.getElementById('poetry');
   poetry.style.margin = '100px auto';

   //通过函数获取ID属性元素
   function getId() {
       //保存获取到的ID属性元素
       let elements = {};
       for (let i = 0; i < arguments.length; i++){
           let id = arguments[i]; //获取参数
           let elt = document.getElementById(id);//根据ID名称获取元素,赋值给给elt
           if (elt === null){
               //如果没有这个ID属性将抛出异常
               throw new Error('没有这个元素'+id);
           }
           //将获取到的元素放入element集合里面
           elements[id] = elt;
       }

       return elements;
   }

   let elements = getId('display1','display2');
   for (let key in elements){
       elements[key].style.backgroundColor = '#a7bcff'
   }

   //====================================根据name获取元素==================================
   //getElementsByName() 返回的是一个节点列表数组

   let login = document.getElementsByName('login')[0];
   login.style.border = '2px solid #FF938D';

   //可以把name属性当document对象属性使用
   let login1 = document.login;
   login1.style.padding = '20px 10px';

   //====================================根据标签名称获取元素==================================

   //getElementsByTagName() 返回的是一个节点列表数组
   let ul = document.getElementsByTagName('ul')[0];
   ul.style.border = '2px solid #479FFF';

   //元素的集合是一个对象,有一个访问方法:item()
   let ul1 = document.getElementsByTagName('ul').item(0);
   ul1.style.padding = '50px 100px';

   //获取所有li元素
   let lis = document.getElementsByTagName('li');
   lis[1].style.border = '1px solid #FFCB24';

   //====================================获取元素的快捷方式==================================

   // document.images 获取所有img标签的元素,返回的是一个节点列表数组
   document.images[0].style.width = '600px';
   document.images['pic'].style.height = '650px';

   //将image看成对象 name可以看成属性
   document.images.pic.style.border = '2px solid #479FFF';

   //forms 获取页面所有form标签
   document.forms[1].style.backgroundColor = '#727272';
   document.forms.item(0).style.backgroundColor = '#aaaaaa';
   document.forms['register'].style.backgroundColor = '#969696';
   document.forms.register.style.backgroundColor = '#beed92';

   //links 获取页面所有的 a 标签
   document.links[0].style.backgroundColor = 'yellow';
   document.links.item(0).style.backgroundColor = 'yellow';
   document.links['c'].style.backgroundColor = 'yellow';
   document.links.c.style.backgroundColor = 'yellow';

   //body: <body>
   document.body.style.backgroundColor = 'snow';

   // head: <head>元素,总有定义,不写会自动添加,只有一个
   let style = document.createElement('style');
   document.head.appendChild(style);

   //====================================根据class获取元素==================================

   let li3 = document.getElementsByClassName('display1');
   li3[0].style.backgroundColor = '#a4ffdf';

   //该方法也支持在父元素上调用
   document.getElementsByClassName('poetry').item(0)
       .getElementsByClassName('display2').item(0)
       .style.backgroundColor = 'green';

   //支持多个class 属性值
   let large = document.getElementsByClassName('display2')[0];
   large.style.backgroundColor = '#ff82da';
   large.style.fontSize = '18px';

   //====================================根据css选择器获取元素==================================
   // document.querySelectorAll() 返回的是一个节点列表数组
   let lists = document.querySelectorAll('li');
   lists[0].style.backgroundColor = 'coral';
   lists.item(1).style.backgroundColor = 'lightblue';

   //该方法还可以在元素上调用,这也根据标签和class类名获取元素是一样的
   let uls = document.querySelector('#ul'); // 获取满足条件的第一个元素
   console.log(uls);    // 只返回ul列表元素以及内部子元素
   let li = ul.querySelectorAll('.display3');
   li[0].style.backgroundColor = 'green';
</script>

</body>
</html>


演示地址 -> http://47.107.64.136/DOM/1/index1.html

Correcting teacher:查无此人Correction time:2019-05-07 09:49:47
Teacher's summary:完成的不错。相信你现在对js有一定的了解了,继续加油。

Release Notes

Popular Entries