博客列表 >DOM的相关操作

DOM的相关操作

P粉036614676
P粉036614676原创
2022年07月27日 10:36:14278浏览
  1. 自定义类数组,并说出与纯数组的区别与联系,哪些地方会用到类数组 2. 获取dom元素的API有几个,他们的使用场景是什么? 3. 如何优雅的获取form表单元素与控件的值? 4. dom元素的遍历与常用API有哪些, 实例演示

1.自定义类数组

  1. <script>
  2. let arr = ['a','b'];
  3. console.log(arr);
  4. // 类数组
  5. let arrx = {
  6. 0:'a',
  7. 1:'b',
  8. length:2
  9. }
  10. console.log(arrx);
  11. console.log(arr[0],arrx[1]);
  12. //大小写Object
  13. if(arr instanceof Object)
  14. {
  15. console.log('123');
  16. }

与纯数组的区别:方法不同
联系:类型都是Object,都可以索引遍历

2.dom元素的API

  1. <script>
  2. // let first = document.querySelector('.item');
  3. // //获取一个元素
  4. // console.log(first);
  5. // let second = document.querySelectorAll('.list');
  6. // //获取一组元素
  7. // console.log(second);
  8. // in:遍历键
  9. // of:遍历值
  10. // of和in的区别
  11. // let arr = {
  12. // 'a':'ajd',
  13. // 'b':'asdk'
  14. // };
  15. // for(let x in arr){
  16. // console.log(x);
  17. // }
  18. // console.log(arr);
  19. // let items = document.querySelectorAll('.list .item');
  20. // console.log(items);
  21. // for(let k of items.keys()){
  22. // console.log(k);
  23. // }
  24. // for(let v of items.values()){
  25. // console.log(v);
  26. // }
  27. // for(let kv of items.entries()){
  28. // console.log(kv);
  29. // }
  30. let first = document.querySelectorAll('.list .item');
  31. // let second = first.querySelector('');
  32. console.log(first);
  33. first.forEach(function (v){console.log(v);})
  34. let second = document.querySelector('.list .item:nth-of-type(3)');
  35. console.log(second);//querySelector:获取的都是单个元素对象
  36. second.style.color = 'red';
  37. let three = document.querySelectorAll('.list .item:nth-of-type(2)')
  38. console.log(three);//querySelectorAll:获取的都是数组对象,一般和forEach搭配使用
  39. console.log(three[0]);
  40. //querySelector和querySelectorAll不只有document
  41. let m = document.querySelector('.list');
  42. let n = m.querySelectorAll('.item');
  43. n.forEach(function(v){v.style.color = 'red'});
  44. console.log(document.body);
  45. console.log(document.head);
  46. console.log(document.title);
  47. </script>

querySelector和querySelectorALL的区别:
querySelector:选中一个元素,类型是element,可以直接使用,.childrend是其对象的子元素,(是类数组)
querySelectorALL:x=选中的是一个数组,一般是和foreach一起使用,

3.获取form表单元素与控件的值

  1. <script>
  2. //方法1:直接选择某个元素
  3. let value = document.querySelector('#login #email');
  4. console.log(value.type);
  5. //方法2:form获取id,input获取name,获取元素之后就可以获取其属性
  6. console.log(document.forms.login.password.value);
  7. //JSON:js对象的序列化,字符串
  8. let email = document.forms.login.email;
  9. let pasword = document.forms.login.password;
  10. let Json = {email:email,pasword:pasword};
  11. console.log(Json);
  12. </script>

4.dom元素的遍历与常用API

  1. // 1.对象:
  2. // Windows对象(全局对象)
  3. // document对象(文档对象,就是当前的Html文件)
  4. // element对象(元素对象, <ul><li><table><form>....)
  5. // text对象(文本对象, item1,item2,....)
  6. //document有个属性(也可以说任何元素对象都有)nodeType返回的是数字. 1.代表元素节点 2.代表属性节点 3.代表文本节点.
  7. // let x = document.querySelectorAll('.list .item');
  8. // x.forEach(function(c){
  9. // if(c.nodeType == 2)
  10. // console.log(c);})
  11. // 1. 拿节点
  12. let list = document.querySelector('.list');
  13. console.log([...list.children]);
  14. // 2.拿子节点
  15. let listx = [...list.children];
  16. listx.forEach(function(kv){
  17. kv.style.color = 'red';
  18. })
  19. //想获取哪个元素,直接用索引
  20. listx[1].style.color='pink';
  21. let listm = document.querySelectorAll('.list');
  22. console.log([...listm[0].children]);
  23. </script>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议