JS(Dom对象的属性和方法)第十六课

简介: JS(Dom对象的属性和方法)第十六课

Dom对象的属性和方法

 

自定义的熟悉操作

上面是今天博客要讲述的内容

一个案例回顾上次课讲的内容  下面是Html中的元素布局结构

  <div>我是div审查元素
      <p>我是p标记的元素</p>
      <span>我是span的元素信息</span>
  </div>
  <div class="one">
      <p class="two">我是class选择器</p>
      <p id="three">我是第二个元素</p>
      <p>段落标签</p>
      <from>
          <table>
              <tr>
                  <td>姓名</td>
                  <td><input type="text" name="name" id="" placeholder="请用户输入姓名"></td>
              </tr>
              <tr>
                  <td>密码</td>
                  <td><input type="password" name="password" id="" placeholder="请用户输入密码"></td>
              </tr>
          </table>
      </from>
  </div>
  <div class="two">
      <p class="two">我是第三个节点</p>
      <p id="two">我是第二个元素</p>
      <p>
      <ul id="tabelList">
          <li>我是标签li</li>
          <li>我是标签精准定位获取的元素信息</li>
          <li>我是标签li</li>
          <li>我是标签li</li>
          <li>我是标签li</li>
          <li>我是标签li</li>
          <li>我是标签li</li>
          <li>我是标签li</li>
          <li>我是标签li</li>
          <li>我是标签li</li>
      </ul>
      </p>
  </div>

下面的基本操作是对上次课的节点操作的回顾 注释在文件中 不在过多的介绍

  <script>
      // 文档声明
      var DOCTYPE = document.doctype
      console.log(DOCTYPE)
      // html
      var html = document.documentElement
      console.log(html);
      html.style.background = 'pink'
      // head
      var head = document.head
      console.log(head)
      head.style.background = "yellow"
      // body
      var body = document.body
      console.log(body)
      body.style.background = 'pink'
      // head的子节点
      console.log("获得head的子节点的理解")
      var head = document.head
      console.log(head)
      var one = document.head.children[0]
      console.log(one)
      console.log(document.head.children[1])
      console.log(document.head.children[2])
      console.log(document.head.children[3])
      console.log(document.head.children[4])
      console.log(document.head.children[5])
  </script>

// 兄弟节点 
      // document.head.nextElementSibling 获取head的后一个节点元素为body
      console.log(document.head.nextElementSibling)
      // document.body.previousElementSibling 获取body的前兄弟节点是 head
      console.log(document.body.previousElementSibling)
      // 父节点
      console.log("获取父元素的节点")
      console.log(document.head.parentNode)
      console.log(document.body.parentNode)
      // 总结 获取document.head.parentNode)和document.body.parentNode 总节点为Html
      // console.log(document.html.parentNode) 报错
      console.log("____________________________________________________________________________________________")
      console.log("获取元素的父节点")
      console.log(document.body.parentElement)
      console.log(document.head.parentElement)
      // 总结 获取document.head.parentElement)和document.body.parentElement总节点为Html

 // document.head.nextElementSibling 获取head的后一个节点元素为body
      console.log(document.head.nextElementSibling)
      // document.body.previousElementSibling 获取body的前兄弟节点是 head
      console.log(document.body.previousElementSibling)
      var two = document.body.children[0]
      console.log(two)
      console.log(document.body.children[1])
      console.log(document.body.children[2])
      console.log(document.body.children[3])
      // 第一个
      console.log(document.body.firstChild)
      console.log(document.body.lastChild)
      console.log("操作Dom对象的属性和方法")

一个基础案例 带你了解 Dom对象的属性和方法

 <div class="box">盒子1</div>
 <div class="box">盒子2</div>
 <div id="nav">
     <ul>
         <li>首页</li>
         <li>产品</li>
         <li class="nav_li">项目名称</li>
     </ul>
 </div>

带你了解 Dom对象的属性和方法

  // 1. getElementsByClassName 根据类名获得某些元素集合
  var boxs = document.getElementsByClassName('box');
  console.log(boxs);
  var nav_li=document.getElementsByClassName('nav_li')
  console.log(nav_li)
  // 2. querySelector 返回指定选择器的第一个元素对象  切记 里面的选择器需要加符号 .box  #nav
  var firstBox = document.querySelector('.box');
  console.log(firstBox);
  var nav = document.querySelector('#nav');
  console.log(nav);
  var li = document.querySelector('li');
  console.log(li);
  // 3. querySelectorAll()返回指定选择器的所有元素对象集合
  var allBox = document.querySelectorAll('.box');
  console.log(allBox);
  var lis = document.querySelectorAll('li');
  console.log(lis);

在上面的6个方法中最常用的是上面的两个方法

// 5.querySelector() — 精准的获取某个元素
var e = document.querySelector("#tabelList li:nth-child(2)")
console.log(e)

// 6.querySelectorAll()获取符合类名或者标签名等条件的的所有元素
var f = document.querySelectorAll('div')
console.log(f)

自定义属性操作 语法如下

自定义的熟悉操作

自定义属性操作 运行效果如上所示

 <div age="12" ac="" wer class="box" id="div1"></div>

 var div1 = document.querySelector("#div1") //通过document.querySelector("#div1") 获取div1盒子
 var flag = div1.hasAttribute("age")       //判断属性是否存在
 var attr = div1.getAttribute("age")  //获取属性的值
 var srt = div1.setAttribute("name", "tyu")  //设置属性值
 var ligt = div1.getAttribute("name")  //删除属性值没有返回值
 // var liko = div1.removeAttribute("ligt") //获取所有的属性的内容
 console.log(div1)
 console.log(ligt) 
  console.log(liko)
 var attrs=div1.attributes  //获取所有的属性
 console.log(attrs)
 for(var item of attrs){
     console.log(item)
 }
 // console.log(flag)

相关文章
|
8天前
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
12天前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
11天前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
12天前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
12天前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
22天前
|
缓存 编解码 JavaScript
DOM 和 BOM 在项目中应用时的性能优化方法
【10月更文挑战第19天】总之,优化 DOM 和 BOM 的性能需要综合考虑多个方面,通过合理的设计和技术手段,提升项目的运行效率和用户体验。在实际开发中,要不断地进行性能优化实践,以适应不断变化的需求和技术发展。
|
12天前
|
JavaScript 前端开发 API
|
JavaScript 前端开发 数据安全/隐私保护
|
JavaScript 前端开发 数据安全/隐私保护
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
95 2