DOM

1.dom:简单理解为文档对象模型<==>节点树

2.宿主对象:浏览器提供的对象—>document对象

3.

  html标签为树顶点元素

  head body为html子元素以此类推个节点元素的父子关系

4.节点分类:

  元素节点:即标签元素对象,可用该元素节点调用内部元素属性

  文本节点:<p>内部包含的文本内容为文本节点

  属性节点:标签内的属性以及属性值为属性节点 例如<p title="a">,title=“a”是属性节点

  css复习:class属性: .class{font-style:xxx}

      id属性: #id{font-style:xxx}

  

5.获取元素

  (1)getElementById:获取/返回id对应的元素对象

     document.getElementById("id")

  (2)getElementsByTagName:筛选出同类标签的节点,返回一个数组对象,数组内对应相应标签的元素节点/元素对象

    document.getElementsByTagName("tag")

    支持通配符* 例如查看多少个元素节点:document.getElementByTagName("*").length;

    查看某id对应元素内部有多少元素节点(id为shit的节点B下面还有多少节点元素)

    【1】 a = document.getElementById("shit")

    【2】 a.getElementsByTagName("*")

  (3)getElementsByClassName(classname1 [classname2、classname3.....]空格分隔):获取/取得classname对应的元素节点的对象数组

    多个类名之间的匹配取交集,与顺序无关?????

    支持与document.getElementById混用:

      【1】a = document.getElementById('id_name');获取id为id_name的元素节点对象a

      【2】classname_arry = a.getElementByClassName("class_name");在元素节点对象a内,查找,并返回class为class_name的元素节点对象的数组

5.getAttribute(属性名)

  object(元素节点对象).getAttribute(属性名):用于查看该属性值

  例如:a = document.getElementsByTagName('tag_name');查找tag_name的元素节点对象数组

       a[0].getAttribute('title')查看该对象数组中第一个对象的名为title的属性的值(如果该没有该属性,则返回Null)

6.setAttribute("属性名","设置的值")

  object(元素节点对象).setAttribute(“属性名”,“设置的值”):用于修改该属性值,如果该属性没有,则添加该属性并且赋值

  注意:setAttribute修改的属性,在源码中是查看不到的;

     因为dom工作模式:先加载文档静态内容,即现呈现原有源码,然后再动态添加,即添加后属性不会传回服务器,因而无法从源码中看到改变!!!!!

  

dom编程艺术笔记2--第三章的更多相关文章

  1. javascript dom编程艺术笔记第三章:DOM操作的5个基本方法

    JavaScript的 DOM操作,主要是对DOM这三个字母中D.O.M的操作.D代表的是document(文档),即我们可以使用javascript对文档进行操作,O代表的是object(对象),对 ...

  2. dom编程艺术笔记1--第二章

    第二章语法部分: 1.js注释:<!-- XXXXX 而“-->”这部分js会认为是注释内容的一部分 2.var 声明变量 不用声明变量类型 3.声明使用一个数组语法:var object ...

  3. javascript dom 编程艺术笔记 第四章:图片库

    首先先建立一个html文件,建立一个图片库 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...

  4. JavaScript DOM编程艺术 笔记(三)函数

    函数function 是在你的代码里随时调用的语句 每个函数是个短小的脚本,arguments,传递的参数 function name(arguments){ statements; } functi ...

  5. JavaScript DOM编程艺术 笔记(一)

    探测浏览器品牌版本代码-----浏览器嗅探 代码 JavaScript==ECMAScript java几乎可以部署在任何环境,js只应用于web浏览器 API是一组得到各方面共同认同的基本约定(元素 ...

  6. javascript dom编程艺术笔记之图片库的改进

    dom的操作要遵守的原则 1.平稳退化 2.分离javascript 3.向后兼容 4.性能考虑 改进后的显示图片方法 function showpic(whichpic){ if(!document ...

  7. JavaScript DOM编程艺术 笔记(四)

    DOM document   object model(map) 家谱树---节点树 父 子  兄弟 元素节点  <div> 文本节点  内容 属性节点   value  src getE ...

  8. java并发编程实战笔记---(第三章)对象的共享

    3.1 可见性 synchronized 不仅实现了原子性操作或者确定了临界区,而且确保内存可见性. *****必须在同步中才能保证:当一个线程修改了对象状态之后,另一个线程可以看到发生的状态变化. ...

  9. asp.net mvc 4 高级编程学习笔记:第三章 视图(2)

    页面布局 asp.net MVC中提供了布局的支持,默认情况下才布局文件保存到 /View/Shared/目录下的_Layout.cshtml,View目录有个_ViewStart.cshtml文件, ...

随机推荐

  1. LintCode 846.多关键字排序

    LintCode 846.多关键字排序 描述 给定 n 个学生的学号(从 1 到 n 编号)以及他们的考试成绩,表示为(学号,考试成绩),请将这些学生按考试成绩降序排序,若考试成绩相同,则按学号升序排 ...

  2. [译]RabbitMQ教程C#版 - 发布订阅

    先决条件 本教程假定 RabbitMQ 已经安装,并运行在localhost标准端口(5672).如果你使用不同的主机.端口或证书,则需要调整连接设置. 从哪里获得帮助 如果您在阅读本教程时遇到困难, ...

  3. Python SQLAlchemy多对多外键关联时表结构

    # 创建多对多表结构 from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.engine import cre ...

  4. jquery延迟加载(懒加载)插件

    Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...

  5. 解决一次git问题

    由于特殊原因,工作中不能使用sourcetree,今天遇到了一个问题记录一下解决办法,后续还是得好好去廖雪峰大神那里学习一下git的命令行操作呀 You have not concluded your ...

  6. vue项目知识点总结

    一.vue中如何获取select被选中的id和对应的值. <!-- 下拉框 --> <div v-show="moreStore" class="sel ...

  7. SWPU新闻后台登录页面

    最终效果图: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...

  8. antd按需加载,配置babel-plugin-import插件,编译后报错.bezierEasingMixin()解决方案

    报错如下: ./node_modules/antd/lib/button/style/index.less (./node_modules/css-loader??ref--6-oneOf-7-1!. ...

  9. CSS3新特性介绍

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...

  10. thrift之php,python使用TServerSocket并发 处理请求

    要求: 不适用nginx+fastcgi情况下,分布式系统之间如果通讯,如果不阻塞,能并发处理请求 环境: luman/laravel:5.5 php:7.2 thrift -version :Thr ...