博客列表 >0106作业

0106作业

后网络时代
后网络时代原创
2021年01月12日 16:56:32512浏览

1. 举例说明构造函数的原型与对象原型之间的区别与联系

答:对象原型指向它的构造函数的原型,对象原型继承构它的造函的原型的成员(方法和属性),对象的原型proto和它构造器的原型prototype恒等。

2. 举例演示获取dom元素的常用方法

答:

  1. <ul id="list">
  2. <li class="item">item1</li>
  3. <li class="item">item2</li>
  4. <li class="item">item3</li>
  5. <li class="item">item4</li>
  6. <li class="item">item5</li>
  7. <li class="item">item6</li>
  8. <li class="item">item7</li>
  9. </ul>

以次为例来获取:
// 获取所有的#list下面所有li
//返回 NodeList 对象(是类数组。实际上是一个集合)
let list=document.querySelectorAll("#list li")
//现在来转化成真正的数组,
方法一:
let listarr=Array.from(list);
方法二:

  1. let listarr=Array.from([...list]);
  2. //NODElist可以直接使用forEach()来遍历
  3. list.forEach(function(item,index,listarr){
  4. console.log(item);
  5. })

简化:
list.forEach((item)=>(console.log(item));

获取第一个列表元素:

  1. let first=document.querySelectorAll("#list li:first-of-type")//返会集合,哪怕只有一个元素
  2. 直接获取第一个元素:
  3. let first=document.querySelector("#list li")//返回元素

快速获取某一个或者某一类元素:

  1. document.documentElemrnt //html
  2. document.body //body
  3. document.title //title

3. dom元素的增删改查常用操作,全部实例演示,并配图

答案:添加:
结果图
源码:

  1. document.write();
  2. clear();
  3. let doc=document.createElement('ul');
  4. doc.setAttribute('id','list');
  5. doc.innerHTML='<li class="item">item1</li><li class="item">item2</li><li class="item">item3</li><li class="item">item4</li><li class="item">item5</li><li class="item">item6</li><li class="item">item7</li>';
  6. document.appendChild(doc);
  7. console.log('开始创建节点,插入到ul中:');
  8. document.createElement('li');
  9. document.createElement('li');
  10. let liitem8=document.createElement('li');
  11. liitem8.setAttribute('class','item');
  12. doc.appendChild(liitem8);
  13. liitem8.innerText="item8";
  14. liitem8.style.color="red";
  15. console.log('利用文档片段批量添加:');
  16. const fc=new DocumentFragment();
  17. for(let i=0;i<=3;i++){ const li=document.createElement('li'); li.textContent="okay"+i; fc.appendChild(li); }
  18. doc.appendChild(fc);
  19. console.log('%cinsertAdjacentHTML','color:cyan');
  20. let str='<li>start1</li><li>start2</li><li>start3</li>';
  21. doc.insertAdjacentHTML('afterbegin',str);

更新操作:
结果图
源码:
续上

  1. let p=document.createElement('p')
  2. p.textContent="hello ,更新进来的元素"
  3. p.style="color:cyan"
  4. document.querySelector("ul li:nth-of-type(1)").replaceWith(p)
  5. doc.replaceChild(p,document.querySelector('ul li:last-of-type'))

删除操作:

源码:

  1. console.log('移除节点')
  2. doc.removeChild(document.querySelector('ul').lastChild);
  3. doc.removeChild(document.querySelector('ul').firstChild);
  1. console.log('统计节点:');
  2. doc.children
  3. doc.children.length
  4. doc.childElementCount
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议