DOM:读取访问节点对象属性

  1. 批量删除父元素下所有子节点 elem.innerHTML="";
  2. 批量替换父元素下所有子节点 elem.innerHTML="所有子元素标签组成的html字符串"
  3. 一切从属性获取的值和设置到属性上的值必须都是字符串所以,都要先类型转换,再计算!

 获取元素的属性值

只找一个属性值时:var strValue=elem.getAttribute("属性名");

遍历一个元素所有属性时:

  1. elem.attributes集合:包含了当前元素所有属性的节点对象
  2. elem.attributes[i/"属性名"]-->返回一个属性节点对象
  3. elem.attributes[i/"属性名"].value-->属性值

修改元素的属性值:2种:
1. elem.setAttribute("属性名","属性值");
何时使用:只设置一个属性值时
2. elem.setAttributeNode(属性节点对象)

移除元素的属性:2种:
1. elem.removeAttribute("属性名")
2. elem.removeAttributeNode(属性节点)

判断是否包含指定属性:1种:
1. elem.hasAttribute("属性名")-->有,true;没有,false

H5中自定义属性:例a.setAttribute("age",18);

h5规定:凡是自定义属性都要加data-前缀   获取自定义属性值:a.dataset.属性名

设置自定义属性值:a.dataset.属性名=值

                               

                                修改样式

1. 仅获得或修改内联样式:

每个元素的style属性-->style对象
style对象中包含了所有css样式属性,默认值都是""
elem.style.属性名="值";
问题:无法获得样式表中层叠或继承来的属性
       只能访问elem的内联样式(style属性中定义的样式)
2. 获得样式表中层叠或继承来的属性:
DOM标准:var style对象=getComputedStyle(elem);
style对象.属性名
IE8: var style对象=elem.currentStyle;
style对象.属性名
问题:          仅能获得样式,无法修改样式
    解决:要修改:
      改内联:只能用elem.style.属性名="值"
3. 改样式表中的样式:3步:
1. 获得要修改的样式表对象:
var sheet=document.styleSheets[i];
2. 获得要修改的CSSRule:
cssRule:样式表中每个大括号包裹的内容
var cssRule=sheet.cssRules[i]
3. 获得或修改cssRule中的属性
cssRule.style.属性名=值
问题:牵一发而动全身
解决:都是用直接修改内联样式的属性,来覆盖样式表中的属性

 

11-18的学习总结(DOMSecondday)的更多相关文章

  1. HTML5初学者福利!11个在线学习网站推荐

    HTML5初学者福利!11个在线学习网站推荐 HTML5的强大及流行趋势,让更多的人想要系统的对它进行学习.而大多数人获取HTML5知识的重要途径都是网络,不过面对五花八门的搜索结果,是不是觉得摸不着 ...

  2. DirectX 11游戏编程学习笔记之8: 第6章Drawing in Direct3D(在Direct3D中绘制)(习题解答)

            本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...

  3. 2018面向对象程序设计(Java)第18周学习指导及要求

    2018面向对象程序设计(Java) 第18周学习指导及要求(2018.12.27-2018.12.30)   学习目标 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设 ...

  4. DirectX 11游戏编程学习笔记之6: 第5章The Rendering Pipeline(渲染管线)

            本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...

  5. 2019面向对象程序设计(Java) 第17周-18周学习指导及要求

    2019面向对象程序设计(Java)第17周-18周学习指导及要求 (2019.12.20-2019.12.31)   学习目标 (1) 理解和掌握线程的优先级属性及调度方法: (2) 掌握线程同步的 ...

  6. github javascript相关项目star数排行榜(前30,截止2016.11.18):

    github javascript相关项目star数排行榜(前30,截止2016.11.18): 前端开源框架 TOP 100 前端 TOP 100:::::https://www.awesomes. ...

  7. 日常Java 2021/11/18

    用idea实现Javaweb登录页面 <%-- Created by IntelliJ IDEA. User: Tefuir Date: 2021/11/18 Time: 18:14 To ch ...

  8. 6月11日 python学习总结 框架理论

    Web框架本质及第一个Django实例   Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web ...

  9. #VSTS日志# 15/11/18 插件应用市场,RM,包管理器等

    [小编]从今天开始,我将在这个博客上连载Visual Studio Team Service的定期更新.VSTS是Team Foundation Server 的在线版本,微软每3周会对这个服务进行更 ...

  10. Chap3: question: 11 - 18

    11. double 数值的整数次方 note: 浮点数表示时有误差,判等时必须自己根据精度要求实现. #include <iostream> #include <ctime> ...

随机推荐

  1. 如何在 CentOS 7 上安装 Redis 服务器

    大家好,本文的主题是 Redis,我们将要在 CentOS 7 上安装它.编译源代码,安装二进制文件,创建.安装文件.在安装了它的组件之后,我们还会配置 redis ,就像配置操作系统参数一样,目标就 ...

  2. 校友信息管理&SNS互动平台之前言、目录及说明

    开篇 刚刚主持完成了某985大学(为了保密和避免广告嫌疑,此处不指出具体大学的名称)的“校友信息管理系统&SNS互动平台”大型项目,本着总结经验,技术共享的原则,本系列文章将全面介绍该项目的需 ...

  3. ios xcode如何在控制台打印frame

    进入正题 打开终端输入三条命令: 1. touch ~/.lldbinit 2. echo display @import UIKit >> ~/.lldbinit 3. echo tar ...

  4. springboot +spring security4 自定义手机号码+短信验证码登录

    spring security 默认登录方式都是用户名+密码登录,项目中使用手机+ 短信验证码登录, 没办法,只能实现修改: 需要修改的地方: 1 .自定义 AuthenticationProvide ...

  5. Android应用源码图书馆管理系统带服务端数据库

    本项目是一套基于安卓的图书馆管理系统,包括jsp服务端源码,安卓客户端源码和mysql数据库.代码比较简单,供学习anroid与j2ee交互.例如Sqlite的使用.安卓客户端与jsp的web服务端的 ...

  6. android83 Activity的生命周期,启动模式,返回时传递数据

    #Android四大组件 * Activity * BroadCastReceiver * Service * ContentProvider #Activity生命周期 * oncreate:Act ...

  7. mybatis10 实现类代理对象开发

    mapper实现类代理对象开发 要想让mybatis自动创建dao接口实现类的代理对象,必须遵循一些规则: SqlSession sqlSession = sqlSessionFactory.open ...

  8. 如何调试PHP的Core之获取基本信息 --------风雪之隅 PHP7核心开发者

    http://www.laruence.com/2011/06/23/2057.html https://github.com/laruence PHP开发组成员, Zend兼职顾问, PHP7核心开 ...

  9. SCTP 关联的建立和终止

    与TCP一样,SCTP也是面向连接的,因而也有关联的建立与终止的握手过程.不过SCTP的握手过程不同于TCP. 四路握手 建立一个SCTP关联的时候会发生下述情形(类似于TCP). (1)服务器必须准 ...

  10. getViewById和getLayoutInflater().inflate的用法

    getViewById和getLayoutInflater().inflate得用法 1.什么是LayoutInflaterThis class is used to instantiate layo ...