http://www.imdsx.cn/index.php/2017/07/27/html2/

DOM(Document Object Model 文档对象模型)

一个web页面的展示,是由html标签组合成的一个页面,dom对象实际就是将html标签转换成了一个文档对象。可以通过dom对象中js提供的方法,找到html的各个标签。通过找到标签就可以操作标签使页面动起来,让页面动起来。

获取标签

// 直接获取标签

document.getElementById('i1'); //获取id为i1的标签

document.getElementsByTagName('div'); //根据标签名称获得标签数组

document.getElementsByClassName('c1'); //根据class属性获取标签的数组

document.getElementsByName('dsx'); //根据name属性获取标签数组

// 间接获取标签

var tmp=document.getElementById('h-test');

tmp.parentElement; // 父节点标签元素

tmp.children; //所有子标签

tmp.firstElementChild; //第一个子标签元素

tmp.lastElementChild; // 最后一个子标签元素

tmp.nextElementSibling; //下一个兄弟标签元素

tmp.previousElementSibling; //上一个兄弟标签元素

操作标签

一、文本内容操作

innerHTML与innerText

tmp.innerText; // 获取标签中的文本内容

tmp.innerText='老铁双击666'; //更改标签内文本内容

tmp.innerHTML; // 获取标签中的所有内容,包含html代码

tmp.innerHTML = '<a href="http://www.imdsx.cn">大师兄</a>' // innerHTML 可以将含有HTML代码的字符串变为标签

input、textarea标签

tmp.value; //获取input、textarea参数

tmp.value = '内容' // 对input、textarea的内容进行赋值

select标签

tmp.value; //获取select标签的value参数

tmp.value = '选项' // 修改select选项

tmp.selectedIndex; // 获取select标签的选项下标

tmp.selectedIndex = 1 // 通过下标更改select的选项

事件

直接绑定

直接在标签中绑定事件

间接绑定

通过JavaScript获取到需要绑定事件的标签,obj.onclick=function(){} 绑定事件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
直接绑定
<input type="button" value="提交" style="float:left;margin-top: 16px" ondblclick="showValueD();">

//this代指当前这个操作的标签
<input type="button" value="提交" style="float:left;margin-top: 16px" ondblclick="showValueD(this);">

// function接收this,通过查找父级,兄弟,子级来定位操作的元素
function showValueD(ths) {

    alert(ths.previousElementSibling.value);

}

间接绑定

var obj = document.getElementById('onmouse');
obj.onmouseover = function () {

    obj.style.background = 'red';

};

// 间接绑定的this代指,getElementById找到的这个标签
var obj = document.getElementById('onmouse');
obj.onmouseout = function () {

    this.style.background = '';

}

//装逼绑定 支持同一个操作执行不同的两段代码
var obj = document.getElementById('onmouse');
obj.addEventListener('click', function () {

    console.log(111)

}, false)

onfocus() //获取光标时做操作
onblur() //失去焦点做操作
onclick() //单击时做操作
ondblclick() //双击时操作
onmouseover() //鼠标悬浮触发操作
onmouseout() //鼠标离开悬浮时触发操作

操作样式

tmp.className = 'c1'; // 更改标签class属性 只能有一个class属性

tmp.classList;// 获取样式数组

tmp.classList.add('aaa'); //添加样式 数组

tmp.classList.remove('aaa'); //删除样式

tmp.checked; //获取checkbox的状态 true为勾选

操作单独样式

style.xxx //操作样式的粒度更加细化,操作单个样式属性,相当于在标签中增加一个style属性

style.backgroundColor // 例:在css中样式可以通过【-】进行连接,在JavaScript中,所有的【-】都被去掉,【-】后面的第一个字符大写

操作属性

setAttribute(key,value) //设置属性,在标签中添加属性或自定义属性

removeAttribute(key) //删除属性,在标签中删除指定属性

attributes //获取标签的所有属性

创建标签

对象方式创建标签

createElement(tagName) //通过DOM创建一个标签对象

appendChild(tagObj) //在父级标签内添加一个子标签对象

字符串方式创建标签

insertAdjacentHTML(where, tagStr) //父级标签内或外添加一个子、兄标签

beforeBegin //插入到获取到标签的前面

afterBegin //插入到获取到标签的子标签的前面

beforeEnd //插入到获取到标签的子标签的后面

afterEnd //插入到获取到标签的后面

其他操作

console.log(msg) //打印数据

alert() //弹框提示

confirm() //确认弹框,返回true or false

location.href //获取当前的url

location.href = 'http://www.imdsx.cn' //重定向

location.reload() //刷新

location.href = location.href //刷新

定时器

setInterval(function, time) //设置定时器,每隔time时间就执行一次

clearInterval(intervalObj) //清除定时器

function timeInterval() {

    var setInt = setInterval(function () {

        console.log(1);

//执行一次就结束定时任务

        clearInterval(setInt)

    }, 1000)

}

setTimeout(function, time) //设置定时器,页面加载完成后,time时间后,执行function,只执行一次

clearTimeout(timeoutObj) //等待过程中 清除定时器

function timeOutInterval() {

    var setTime = setTimeout(function () {

        console.log('点击操作后,两秒后提示文案')

    }, 2000);

// 等的过程中,清除定时器

    clearTimeout(setTime)

}

HTML基础二-DOM操作的更多相关文章

  1. 【2017-03-28】JS基础、DOM操作

    一.JS基础 1.javascript功能 ⑴进行数据运算 ⑵控制浏览器功能 ⑶控制元素的属性.样式.内容 2.javascript位置和格式 可以放在html页的任意位置,也可以创建一个以js结尾的 ...

  2. Jquery基础之DOM操作

    转自:http://www.cnblogs.com/bro-ma/p/3063942.html JQuery中的DOM操作主要对包括:建[新建].增[添加].删[删除].改[修改].查[查找][像数据 ...

  3. jquer 基础篇 dom操作

    DOM操作: 1.新增元素:创建元素:$("HTML")返回的创建成功的新元素新增子元素:元素.append(obj) 在匹配元素的里面新增一个子元素 追加方式 新元素作为最后一个 ...

  4. jQuery 源码解析(二十二) DOM操作模块 复制元素 详解

    本节说一下DOM操作模块里的复制元素子模块,该模块可以复制一个DOM节点,并且可选择的设置是否复制其数据缓存对象(包含事件信息)和是否深度复制(子孙节点等),API如下: $.clone(elem, ...

  5. JavaScript基础:DOM操作详解

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 前言 JavaScript的组成 JavaScript基础分为三个部分: ...

  6. html基础:DOM操作

    DOM(Document Object Model 文档对象模型) 一个web页面被封装成一个dom对象,通过dom中的js对页面的标签进行操作 一.获取对象 浏览器页面上右键--检查--consol ...

  7. HTML基础之DOM操作

    DOM(Document Object Model 文档对象模型) 一个web页面的展示,是由html标签组合成的一个页面,dom对象实际就是将html标签转换成了一个文档对象.可以通过dom对象中j ...

  8. DOM基础及DOM操作HTML

     文件对象模型(Document Object Model.简称fr=aladdin" target="_blank">DOM).是W3C组织推荐的处理可扩展标 ...

  9. Python基础二_操作字符串常用方法、字典、文件读取

    一.字符串常用方法: name.captitalize()                       #字符串首字母大写 name.center(50,'*')                   ...

随机推荐

  1. 【活动公告】Hackathon —— 腾讯云AI API接入迷你赛

    一. 活动简介 编程马拉松(Hackathon)是将热爱软硬件开发的人聚集起来所举办的一项比赛,本次活动由腾讯云AI联合云+社区发起,希望让广大开发者体验到腾讯云AI的魅力.比赛过程中,参赛者可以尽情 ...

  2. windows上redis的安装和配置

    windows上redis的安装和配置 进入到Redis的根目录D:\Programming\Redis\Redis6379\Redis-x64-3.2.100底下操作: 配置文件启动 redis-s ...

  3. Linux : Nginx相关

    nginx安装参考链接: https://www.cnblogs.com/kaid/p/7640723.html 自定义编译目录: https://blog.csdn.net/ainuser/arti ...

  4. Python 3 的 int 类型详解(为什么 int 不存在溢出问题?)

    在以前的Python2中,整型分为int和long,也就是整型和长整型, 长整型不存在溢出问题, 即可以存放任意大小的数值,理论支持无限大数字. 因此在Python3 中,统一使用长整型,用int表示 ...

  5. [转] js网络请求跨域问题汇总(携带cookie)

    前端程序使用extjs写,在本地测试,发送请求到服务器时,发现存在跨域的问题,cookie也没有set成功,于是乎在这里整理一下解决过程 由于篇幅较长,不想看解决过程的可以翻到最后看总结1.跨域允许2 ...

  6. 可落地的DDD(5)-战术设计

    摘要 本篇是DDD的战术篇,也就是关于领域事件.领域对象.聚合根.实体.值对象的讨论.也是DDD系列的完结篇. 这一部分在我们团队争论最多的,也有很多月经贴,比如对资源库的操作应该放在领域服务还是领域 ...

  7. winform子窗口与父窗口的交互-使用委托与事件

    实现子窗口与父窗口的交互,通过父窗口调用并控制子窗口,子窗口也能控制父窗口,使用委托和事件的方法,可以实现. 1.父窗口调用子窗口,并通过子窗口控制父窗口 新建工程,创建两个窗体    显示子窗体的代 ...

  8. VB.net 通过句柄操作其他窗口

    Imports System.TextImports System.Runtime.InteropServices Public Class Form1    ' 相关API函数声明,注释掉的这里没用 ...

  9. asp.net chart美化+绑定数据--饼图

    asp.net chart之饼图 开发环境VS2010 chart控件是vs自带控件 前台: <asp:Chart ID="Chart3" runat="serve ...

  10. Lisp : (quote) code is data (eval) data as code