【DOM学习笔记 Unit02】

  1. 修改元素的内容:3个属性

    1. innerHTML: 获取或设置元素开始标签到结束标签之间的HTML内容。
      何时使用:只有获取或设置元素的内容时
      固定套路:2个:

      1. 清空子元素:parent.innerHTML=”“;
      2. 批量替换子元素:

      和单独删除元素对象的效率差异:
      DOM Tree–>Render Tree
      |
      layout(reflow)最耗时
      尽量少触发layout:增加和删除元素节点
      批量操作减少触发layout
      课堂练习:
      a. option元素,selected属性表示是否被选中,可当做bool类型用
      b. 遍历过程中可能减少元素个数的时候,都要从后向前遍历
      c. var arr=[1,2,3]
      var deleted=arr.splice(1,1); deleted数组,包含被删除的元素
      deleted[0] 获得被删除的元素

    2. textContent:获取或设置开始标签到结束标签之间的文本内容,剔除了子标签,自动转换特殊符号为原文。
      IE8:innerText:

  2. 修改属性:
    核心DOM:凡是来自于不带HTML开头的父类型中的属性和方法
    HTML DOM:凡是仅继承自HTML开头的父类型中的属性和方法

    HTML DOM:body–>HTMLBodyElement–>HTMLElement 给HTML定义的元素的父类型

    核心DOM: –>Element–Node 给所有文档类型定义的元素的父类型

    获得元素属性值:3种—-所有属性值都是字符串

    1. var strValue=elem.getAttribute(“属性名”);
      何时使用:
      只要获取元素的知道属性的值
    2. var strValue=elem.attributes[i/”属性名”].value;
      //属性集合 //属性节点 //属性值
    3. var strValue=elem.getAttributeNode(“属性名”).value;
      //属性节点对象 //属性值

    修改元素属性值:2种—-所有属性的值都是字符串

    1. elem.setAttribute(“属性名”,”属性值”);
    2. elem.setAttributeNode(属性节点对象);

    移除元素的属性:2种

    1. elem.removeAttribute(“属性名”)
    2. elem.removeAttributeNode(“属性节点对象”)

    判断是否包含指定属性:

    1. elem.hasAttribute(“属性名”)–>true,有;false,没有;

    总结:5个词: attributes get/set/remove/hasAttribute

    HTML DOM:
    获取、修改属性:elem.属性名
    删除属性: elem.属性名=”“;
    判断:if(elem.属性名)

    ***Property VS Attribute
    Attribute是出现在html元素开始标签中的特性
    只能通过get/setAttribute访问
    比如:a.getAttribute(“href”);
    Property是内存中对象的属性,专门通过.访问
    比如:a.href

    HTML标准属性:既是html元素的特性,同时又是内存中元素对象的属性。

    自定义属性:html也可以自定义属性

li.setAttribute("age","25");==> <li age="25"></li> 可以表现在页面元素上
 只能用getAttribute("age"); --> 25

li.age=25; ==>仅存储在内存中,无法出现在页面元素上
只能用.获取
自定义属性,核心DOM和HTML DOM不通用!  

HTML5中自定义属性标准:
1. 所有自定义属性都要加data-前缀
2. elem.dataset.自定义属性名 ==》不用加data-前缀

  1. 修改元素的样式:2处可改

    1. 内联样式:都定义在元素的style属性中
      elem.style –> CSSStyleDeclaration类型的对象
      获取/设置元素的内联样式属性:
      【elem.style.属性名】
      【属性名】:将css属性名去横线变驼峰
      *问题:获取:只能获得内联样式中的属性,无法获得样式中级联或继承来到外部属性。
      修改样式:放在内联样式中的属性,优先级最高!覆盖所有外部的!
      何时使用style:修改一个元素的样式时。

    2. 样式表中的样式:

      1. 获取计算后的样式:最终层叠应用到一个元素上的完整样式列表。
          var style=getComputedStyle(elem)
              IE8:var style=elem.currentStyle

          if(elem.currentStyle){
         var style=elem.currentStyle;
          }else{
             vaf style=getComputedStyle(elem);
          }
何时使用:只要获取一个元素的属性时都要获取计算后的样式
强调:getComputedStyle返回的style对象是只读!

   2. 修改样式表中的样式:
      1. 样式表对象:
            <style></style> 
            <link rel="stylesheet".../>
         获得样式表对象:
        var sheet=document.styleSheets[i] i从0开始
          sheet是CSSStyleSheet类型的对象

      2. CSS规则对象:
        var rule=sheet.cssRules[i];
        rule是CSSStyleRule类型的对象
        rule对象下还可继续保护cssRules集合

      3. 获取/设置规则中的属性:
        rule.style.属性名="属性值"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于学习 JavaScript DOM(文档对象模型),你可以按照以下步骤进行: 1. 先了解什么是DOMDOM 是一种对 HTML 和 XML 文档的编程接口,它将文档解析成由节点和对象(如元素、属性和文本)组成的结构,开发者可以使用 DOM 提供的方法和属性来操作和修改这些节点和对象。 2. 学习基本的 JavaScript:在学习 DOM 之前,你需要对基本的 JavaScript 语法和概念有一定的了解。你可以从 W3Schools 或 MDN 网站上找到一些入门教程和资料。 3. 熟悉 DOM 的基本操作:掌握如何使用 JavaScript 来访问和操作 DOM 元素是学习 DOM 的关键。你可以学习如何通过 JavaScript 获取元素、修改元素内容、添加或删除元素等操作。 4. 掌握事件处理:了解如何使用 JavaScript 来处理用户的交互事件,例如点击按钮、提交表单等。你可以学习如何注册事件处理函数,并在事件发生时执行相应的操作。 5. 深入学习 DOM API:DOM API 提供了许多方法和属性,可以帮助你更高效地操作 DOM学习这些 API 的用法,例如查询选择器、遍历节点树、修改样式等,可以提升你在开发中的效率。 6. 实践项目:通过实践项目来巩固所学的知识。你可以尝试创建一些简单的交互式网页,使用 JavaScript 和 DOM API 实现一些功能,如表单验证、动态内容更新等。 记住,在学习过程中不断练习和实践是非常重要的。还有许多在线资源和教程可供参考,你可以根据自己的需求和学习风格选择适合自己的学习材料。祝你学习愉快!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值