Blogger Information
Blog 29
fans 0
comment 0
visits 14072
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
访问器属性原理与获取DOM元素实践
P粉317509817
Original
324 people have browsed it

访问器属性原理

先写一个常规的对象

  1. / /设置一个常规的类
  2. let userInfo={
  3. data:{
  4. name:'Jason',
  5. birthday:[2000,12,04],
  6. height:'1.75m',
  7. weight:'70kg'
  8. },
  9. // 获取姓名
  10. getName(){
  11. return this.data.name;
  12. },
  13. // 修改姓名
  14. ChangeName(name){
  15. if (name.length <= 20 ){
  16. this.data.name=name;
  17. }else{
  18. console.log('名字过长')
  19. }
  20. },
  21. // 获取年龄
  22. getAge(){
  23. return (2022-this.data.birthday[0])
  24. },
  25. // 获取身高
  26. getHeight(){
  27. return `${this.data.height[0]}${this.data.height[2]}${this.data.height[3]} cm`
  28. },
  29. // 修改身高
  30. SetHeight(height){
  31. return this.data.height=height;
  32. }
  33. }
  34. // 打印属性
  35. console.log(userInfo.data)
  36. console.log(userInfo.getAge())
  37. console.log(userInfo.getName())
  38. userInfo.SetHeight('1.80');
  39. console.log(userInfo.getHeight())
  40. userInfo.ChangeName('Authur')
  41. console.log(userInfo.getName())
  42. console.log(userInfo.data)

效果:

将对象方法改写成访问器属性

  1. // 设置一个常规的类
  2. let userInfo={
  3. data:{
  4. name:'Jason',
  5. birthday:[2000,12,04],
  6. height:'1.75m',
  7. weight:'70kg'
  8. },
  9. // 获取姓名
  10. // getName(){
  11. // return this.data.name;
  12. // },
  13. // 改写
  14. get Name(){
  15. return this.data.name;
  16. },
  17. // 修改姓名
  18. // ChangeName(name){
  19. // if (name.length <= 20 ){
  20. // this.data.name=name;
  21. // }else{
  22. // console.log('名字过长')
  23. // }
  24. // },
  25. // 改写
  26. set Name(name){
  27. if (name.length <= 20 ){
  28. this.data.name=name;
  29. }else{
  30. console.log('名字过长')
  31. }
  32. },
  33. // 获取年龄
  34. get Age(){
  35. return (2022-this.data.birthday[0])
  36. },
  37. // 获取身高
  38. get Height(){
  39. return `${this.data.height[0]}${this.data.height[2]}${this.data.height[3]} cm`
  40. },
  41. // 修改身高
  42. set Height(height){
  43. return this.data.height=height;
  44. }
  45. }
  46. // 打印属性
  47. console.log(userInfo.data);
  48. console.log(userInfo.Name);
  49. console.log(userInfo.Age);
  50. console.log(userInfo.Height);
  51. userInfo.Height='1.88';
  52. userInfo.Name='Authur';
  53. console.log(userInfo.data);
  54. console.log(userInfo.Name);
  55. console.log(userInfo.Age);
  56. console.log(userInfo.Height);

改写后效果不变:

获取DOM元素

DOM概念:DOM (Document Object Model) 译为文档对象模型,是 HTML 和 XML 文档的编程接口。也就是说把文档编译成了一个对象模型,例如我们写的html文件实际上是一个文档文件,通过我们的浏览器把它编译成了一个对象模型,这个模型就是document对象。

生成一个html

  1. <ul class="list">
  2. <li class="item"><button class="click">点我</button></li>
  3. <li class="item"><button class="click">点我</button></li>
  4. <li class="item"><button class="click">点我</button></li>
  5. <li class="item"><button class="click">点我</button></li>
  6. <li class="item"><button class="click">点我</button></li>
  7. <li class="item"><button class="click">点我</button></li>
  8. <li class="item"><button class="click">点我</button></li>
  9. </ul>

1、如何获取文档对象

console.dir(document);

效果:

2、如何拿到类名为click的button标签组

  1. // querySelectorAll(selector):返回一组元素
  2. // 这里将返回所有class为’click‘的标签
  3. console.dir(document.querySelectorAll('.click'))

效果:

这里传回的是一个数组,我们用常量来接收这个数组,就可在js中对button按钮进行设置

3、在js中对button标签进行样式设置

  1. const button = document.querySelectorAll('.click')
  2. for (let i =0 ;i < button.length;i++)
  3. {
  4. button[i].style.width='800px';
  5. button[i].style.margin='10px';
  6. }

效果:

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post