博客列表 >JS基本语法6:JavaScript 类 class声明与实例化 与DOM元素的获取方法/DOM元素遍历的常用方法

JS基本语法6:JavaScript 类 class声明与实例化 与DOM元素的获取方法/DOM元素遍历的常用方法

茂林
茂林原创
2024年01月07日 16:32:081018浏览

作业内容:1. class 声明与实例化,属性,方法,静态方法与继承的语法 2. DOM元素的获取方法演示 3. DOM遍历的常用方法

1.class 声明与实例化,属性,方法,静态方法与继承的语法

1.声明:class
2.属性:constructor
3.方法:method(){}简写
4.访问器属性:get method()/set method()
5.静态方法:static
6.继承:extends / super

  1. <script>
  2. /**
  3. * class声明类
  4. * 类的作用是批量创建对象
  5. */
  6. class User {
  7. /*
  8. 1.属性:使用constructor关键字声明
  9. */
  10. constructor(username, password) {
  11. this.username = username
  12. this.password = password
  13. }
  14. /* 2.方法:使用简写的方式 method(){}*/
  15. say() {
  16. return `名字:${this.username},密码:${this.password}`
  17. }
  18. /* 3.访问器属性
  19. */
  20. set username(name) {
  21. this.name = name
  22. }
  23. get username() {
  24. return `${this.name}`
  25. }
  26. /* 4.静态成员 static */
  27. static national = "中国"
  28. }
  29. /* 通过User类创建 person 对象 */
  30. let person = new User("user1", "user1@1234")
  31. console.log(person.say())
  32. /**
  33. * 类的继承
  34. * 1.关键字:extends
  35. * 2.作用:为了扩展类的功能
  36. */
  37. class student extends User {
  38. constructor(username, password, age) {
  39. super(username, password)
  40. //子类中的新属性
  41. this.age = age
  42. }
  43. //子类中的新方法
  44. say() {
  45. return `${super.say()},(${this.age})`
  46. }
  47. }
  48. const person1 = new student("朱老师", "Koge@1234", 18)
  49. console.log(person1.say())
  50. </script>

2.DOM元素的获取方法

1.document.querySelectorAll('css选择器'):获取一组元素
2.document.querySelector('css选择器'):获取一个元素

  1. <body>
  2. <ul class="list">
  3. <li>item1</li>
  4. <li>item2</li>
  5. <li>item3</li>
  6. <li>item4</li>
  7. <li>item5</li>
  8. <li>item6</li>
  9. <li>item7</li>
  10. <li>item8</li>
  11. </ul>
  12. <script>
  13. //console.log(" 1.获取一组元素:document.querySelectorAll()")
  14. /**
  15. * 1.获取一组元素:document.querySelectorAll('css选择器')
  16. *返回值:为一个NodeList 类数组,自带了forEach(),entries(),item(),keys()方法
  17. */
  18. //const items = document.querySelectorAll(".list>li")
  19. //console.log(items)
  20. //通过自带的forEach()遍历元素
  21. //items.forEach((item) => console.log(item))
  22. //textContent:元素中的文本内容
  23. /* items.forEach((item) => console.log(item.textContent))
  24. console.log(" 1.获取一个元素:document.querySelectorAll()") */
  25. /**
  26. * 2.获取一个元素:document.querySelector('css选择器')
  27. *集合中满足条件的第一个元素,也就是集合中 第一个
  28. */
  29. //console.log(items[0])
  30. let item = document.querySelector(".list>li")
  31. console.log(item)
  32. console.log("=======")
  33. /**
  34. * querySelectorAll,querySelector
  35. * 也可以在元素中调用
  36. */
  37. const list = document.querySelector(".list")
  38. console.log(list)
  39. /* 获取满足条件的第1个元素 */
  40. console.log(list.querySelector("li"))
  41. const ls = list.querySelectorAll("li")
  42. ls.forEach((item) => (item.style.border = "1px solid blue"))
  43. </script>
  44. </body>

3.获取DOM元素的快捷方法

  1. body : document.body
  2. head : document.head
  3. title : document.title
  4. html : document.documentElement
  5. url : document.URL
  6. window : document.defaultView
  7. cookie : document.cookie
  8. script : document.scripts
  9. styleSheets: document.styleSheets
  1. <html lang="zh-CN">
  2. <head>
  3. <meta charset="UTF-8" />
  4. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  5. <title>DOM元素获取的快捷方法</title>
  6. </head>
  7. <body>
  8. <ul class="list">
  9. <li>item1</li>
  10. <li>item2</li>
  11. <li>item3</li>
  12. <li>item4</li>
  13. <li>item5</li>
  14. <li>item6</li>
  15. <li>item7</li>
  16. <li>item8</li>
  17. </ul>
  18. <script>
  19. /* 1.获取body元素 */
  20. console.log(document.body)
  21. /* 2.获取head元素 */
  22. console.log(document.head)
  23. /* 3.获取titil元素 */
  24. console.log(document.title)
  25. /* 4.获取页面的URL */
  26. console.log(document.URL)
  27. /* 5.获取windows */
  28. console.log(document.defaultView)
  29. /* 6.获取html */
  30. console.log(document.documentElement)
  31. /* 7.获取cookie */
  32. console.log(document.cookie)
  33. /* 8.获取script */
  34. console.log(document.scripts)
  35. /* 9.获取styleSheets */
  36. console.log(document.styleSheets)
  37. </script>
  38. </body>
  39. </html>

4.DOM表单元素获取

  1. form : document.forms.id/name
  2. input: input.name/id
  3. value: input.name/id.value
  1. <script>
  2. /** 前后端分离
  3. * 前端 <-->(JSON格式的字符串)<-->服务器端
  4. * 将表单中的用户邮箱和密码发送到服务端
  5. **/
  6. /*第一步 获取邮箱与密码 */
  7. let email = document.forms.login.email.value
  8. let password = document.forms.login.password.value
  9. console.log(email, password)
  10. /* 第二步 转为JS对象 */
  11. //let user={email:email,password:password} 简写
  12. let user = { email, password }
  13. /* 第三步 把JS对象序列化成JSON字符串 */
  14. let json = JSON.stringify(user)
  15. console.log(jsons)
  16. </script>

5. DOM遍历的常用方法

  1. children: 元素类型子节点
  2. firstElementChild: 第一个子元素
  3. lastElementChild: 最后一个子元素
  4. nextElementSibling: 下一个兄弟元素
  5. previousElementSibling: 前一个兄弟元素
  6. parentElement: 父元素
  7. contains(): 是否是后代
  1. <body>
  2. <ul class="list">
  3. <li>item1</li>
  4. <li>item2</li>
  5. <li>item3</li>
  6. <li>item4</li>
  7. <li>item5</li>
  8. <li>item6</li>
  9. </ul>
  10. <script>
  11. /* DOM 节点类型(12个,常用3个)
  12. 1.document:文档类型,9
  13. 2.element:元素类型,1
  14. 3.text:文本类型,3
  15. */
  16. /* document.querySelectorAll
  17. 参数:css选择器
  18. 返回值:NodeList类数组,自带了foreach(),entries(),value(),keys()方法
  19. 类数组转成真正的数组方法:[...类数组名],Array.from(类数组名)
  20. */
  21. let list = document.querySelector(".list")
  22. // 列表 class = 'list'
  23. //console.log(list)
  24. /* DOM 节点类型(12个,常用3个)
  25. 1.document:文档类型,9
  26. 2.element:元素类型,1
  27. 3.text:文本类型,3
  28. */
  29. // noteType: 查看节点类型
  30. //console.log(list.nodeType)
  31. /* 1.所有子节点:chileNodes
  32. 返回值:NodeList类数组,自带了foreach(),entries(),value(),keys()方法
  33. 类数组转成真正的数组方法:[...类数组名],Array.from(类数组名)
  34. 包含了所有节点类型:文本节点和元素节点,如果只想获取元素节点,需要将类数组转成真正的数组,
  35. 使用数组filter()过滤得到元素节点及节点上的内容
  36. */
  37. console.log(list.childNodes)
  38. //只获取list.childNodes中的元素节点
  39. let lt = Array.from(list.childNodes).filter((item) => item.nodeType === 1)
  40. //console.log(lt)
  41. //2.所有元素子节点:children
  42. //console.log(list.children)
  43. ;[...list.children]
  44. // console.log([...list.children])
  45. //3.获取第一个子节点:firstElementChild
  46. // console.log([...list.children][0])
  47. let first = list.firstElementChild
  48. console.log(first)
  49. //4.获取下一个子节点:nextElementSibling
  50. let second = first.nextElementSibling
  51. console.log(second)
  52. //5.获取最后一个子节点:lastElementChild
  53. let last = list.lastElementChild
  54. console.log(last)
  55. //6.上一个子节点:previousElementSibling
  56. let prev = last.previousElementSibling
  57. console.log(prev)
  58. //7.父元素parentElement
  59. let parent = prev.parentElement
  60. console.log(parent)
  61. //8.是否是后代
  62. // console.log(contains(list))
  63. </script>
  64. </body>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议