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. WebAPI 使用控制台启动

    using System; using System.Web.Http; using System.Web.Http.SelfHost; namespace UAC_OAuth2Center { pu ...

  2. 推荐一款语音直播连麦App YAMI

    推荐一款语音直播连麦App YAMI 1 介绍 功能描述:[语音直播]:海量超有才主播,游戏送礼抢红包,嗨玩不停:[多人聊天室]:连麦交友处CP,主持人带你玩游戏,边聊边玩:[语音交友]:海量声优专属 ...

  3. Spring Cloud Feign高级应用

    1.使用feign进行服务间的调用 spring boot2X整合nacos一使用Feign实现服务调用 2.开启gzip压缩 Feign支持对请求与响应的压缩,以提高通信效率,需要在服务消费者配置文 ...

  4. VisualHull && association4D 观摩记录

    简单记录一下自己对VisualHull 和 association4D 两个程序的理解,没有别的意思(当然是真的 由于进度还很慢,暂时只是简单记录一下发现的点和踩过的坑,做完再把资料汇总. Visua ...

  5. Flask高级

    关于Flask启动,和请求处理 #关于后端服务的启动,无非就是启动实现了WSGI协议的socket #关于flask启动的无非就是下面两段代码 #加载配置,创建Flask对象 app = Flask( ...

  6. vue chunk-elementUI.3d5a4739.js 过大,网页打开慢开启gzip压缩

    如下 upstream sems { server weight= fail_timeout=; } server { listen ; server_name www.serve.com; loca ...

  7. Python基础13

    <玩1>中关于病假.事假的问题,说得不完全正确. 实际为哑变量. 有关看待问题的维度.出发点(即屁股在哪里) 转哑变量后可以提高模型精度. 机器学习不怕字段过多. 转哑变量是在增维.

  8. springmvc上传图片到Tomcat虚拟目录

    一.简介 通过把文件上传到tomcat的虚拟目录,实现代码和资源文件分开. 二.环境 spring+springmvc+mybatis 三.代码实现 1.导入文件上传的jar <dependen ...

  9. doucment的获取节点的信息

    document.activeElement 返回当前获取焦点元素 document.addEventListener() 向文档添加句柄 document.adoptNode(node) 从另外一个 ...

  10. cocos2d-js中jsc逆向为js攻略

    笔记: 主要发现有两个工具 存档记录一下 https://github.com/OEDx/cocos-jsc-endecryptor  python的 解密需要秘钥 推荐这个: https://git ...