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. Spark-Java版本WordCount示例

    首先创建Spark的Maven工程,我这里使用的是Eclipse. 1.编写WordCountApp代码 package com.mengyao.spark.java.core; import jav ...

  2. 安装XCode导致mac无法正常开机怎么办

    作为一个IOS编程菜鸟,之前在网上买的IOS教程都坑爹的是xcode4以前的版本的,由于3和4界面变化较大,所以看着书往往不知所云,所以就迫不及待地从网上下载了XCode 3.2.5+iOS SDK ...

  3. Log接口的重新封装

    闲来没事,看见当前的项目的日志形式有点冗余,每个类都需要声明确实有点繁琐, 因此重新将logback重新封装一下,供整个工程共享使用,版本是1.0.9. 代码如下: import java.lang. ...

  4. 我的ubuntu配置

    每次装系统都是非常蛋疼的过程,新装的系统还是要配置一下的 首先安装google拼音 sudo apt-get install fcitx fcitx-googlepinyin 然后按装numix主题 ...

  5. RocketMq消息队列使用

    最近在看消息队列框架 ,alibaba的RocketMQ单机支持1万以上的持久化队列,支持诸多特性, 目前RocketMQ在阿里集团被广泛应用在订单,交易,充值,流计算,消息推送,日志流式处理,bin ...

  6. thymelef 布局 fragment

    需求:布局页面, 把首页分成四个页面: header  footer ,content ,aside ,从githua 下载的原型, 所有内容是在一起的,这里拆分, 重用, 减少代码量 做法: 新建页 ...

  7. mysql通过查看跟踪日志跟踪执行的sql语句

    在SQL SERVER下跟踪sql采用事件探查器,而在mysql下如何跟踪sql呢? 其实方法很简单,开启mysql的日志log功能,通过查看跟踪日志即可. 开启mysql的日志log方法: wind ...

  8. MVVM架构的一次实践,重写iOS头条客户端

    前言: 一个iOS头条APP,使用MVVM架构实现,代码中有注释,封装了AFN网络请求,解媾代码,使用起来非常方便.用最经典的TableView展示,后续不断更新,喜欢就star或fork一下,有问题 ...

  9. JavaScript 应用开发 #2:视图与模板

    在用 Backbone 开发的 JavaScript 应用里面,除了模型与集合以外,另一个重要的部分就是视图,英文是 View .在视图里面,我们可以去监听在页面上发生的事件,还有与视图相关的模型和集 ...

  10. RedHat7搭建MongoDB

    yum安装MongoDB 添加MongoDB源# vi /etc/yum.repos.d/mongodb-org-3.0.repo [mongodb-org-3.0] name=MongoDB Rep ...