HTML基础二-DOM操作
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操作的更多相关文章
- 【2017-03-28】JS基础、DOM操作
一.JS基础 1.javascript功能 ⑴进行数据运算 ⑵控制浏览器功能 ⑶控制元素的属性.样式.内容 2.javascript位置和格式 可以放在html页的任意位置,也可以创建一个以js结尾的 ...
- Jquery基础之DOM操作
转自:http://www.cnblogs.com/bro-ma/p/3063942.html JQuery中的DOM操作主要对包括:建[新建].增[添加].删[删除].改[修改].查[查找][像数据 ...
- jquer 基础篇 dom操作
DOM操作: 1.新增元素:创建元素:$("HTML")返回的创建成功的新元素新增子元素:元素.append(obj) 在匹配元素的里面新增一个子元素 追加方式 新元素作为最后一个 ...
- jQuery 源码解析(二十二) DOM操作模块 复制元素 详解
本节说一下DOM操作模块里的复制元素子模块,该模块可以复制一个DOM节点,并且可选择的设置是否复制其数据缓存对象(包含事件信息)和是否深度复制(子孙节点等),API如下: $.clone(elem, ...
- JavaScript基础:DOM操作详解
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 前言 JavaScript的组成 JavaScript基础分为三个部分: ...
- html基础:DOM操作
DOM(Document Object Model 文档对象模型) 一个web页面被封装成一个dom对象,通过dom中的js对页面的标签进行操作 一.获取对象 浏览器页面上右键--检查--consol ...
- HTML基础之DOM操作
DOM(Document Object Model 文档对象模型) 一个web页面的展示,是由html标签组合成的一个页面,dom对象实际就是将html标签转换成了一个文档对象.可以通过dom对象中j ...
- DOM基础及DOM操作HTML
文件对象模型(Document Object Model.简称fr=aladdin" target="_blank">DOM).是W3C组织推荐的处理可扩展标 ...
- Python基础二_操作字符串常用方法、字典、文件读取
一.字符串常用方法: name.captitalize() #字符串首字母大写 name.center(50,'*') ...
随机推荐
- centos 修改语言、时区
修改时区 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock -w 修改语言 查看当前语言:echo $LANG vim etc/l ...
- ZROI1153 【线上训练3】数个数
ZROI1153 [线上训练3]数个数 传送门 一道非常有意思的题,涵盖了各种知识点. 首先,很显然,这是个容斥.容斥可以过掉\(30pts\). 这里我们考虑容斥+DP. 我们令\(dp[i][j] ...
- centos上安装grafana
wget https://dl.grafana.com/oss/release/grafana-6.2.5-1.x86_64.rpm yum localinstall grafana-6.2.5-1. ...
- SQL Server 2014:为什么会提示“用户登录失败”?
SQL Server有两种登录方式,Windows身份验证和sql server身份验证,其对应的数据库连接字符串如下: Windows身份验证 ----- @"Data Source=DE ...
- IDEA整合GIT所有操作
IDEA整合GIT操作 1.1 配置Idea集成Git 1.2 在使用SSH key 创建公钥私钥,上传公钥到github (1).点击开始菜单-->所有程序--->git选择 Git B ...
- golang --strings 下常用函数api
1. func Compare(a, b string) int {} 比较返回一个按字典顺序比较两个字符串的整数.如果a == b则结果为0,如果a <b则结果为-1,如果a> b则结果 ...
- 《STL源码剖析》——Array
array array本身内容较少,日常使用也不是很多,里面也没有很高深的技巧 1 array的基本架构 了解array的架构需要一个额外的语法知识: int a[100]; int [100]b; ...
- 2019-11-29-dotnet-通过-WMI-获取指定进程的输入命令行
原文:2019-11-29-dotnet-通过-WMI-获取指定进程的输入命令行 title author date CreateTime categories dotnet 通过 WMI 获取指定进 ...
- Winfrom devexpress 通用权限框架
毕业到现在也快两年了,手上的项目也有好几个,但总感觉不是狠理想,近来把手上杂七杂八的项目整理了一下,结合各个项目的优点,重新开发了一套winfrom+devexpress 通用权限(CS)框架(BS版 ...
- c#在sqlserver中使用EF框架
vs2017,sqlserver2017(localdb)调试通过.在sqlserver中创建数据库d1,表t1如下: 录入数据如下: 在vs新建任意项目,此处以控制台为例.添加数据模型Model1: ...