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

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

var d=document.getElementById('inner1')
d.children[1] #获取下标为1的也就是第二个子标签元素
d.lastElementChild #获取最后子标签元素
d.parentElement.nextElementSibling.children[2].children[1] #获取父亲标签元素的下一个兄弟标签元素的第三个子标签元素的第二个子标签元素
// 直接获取标签 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; //上一个兄弟标签元素

操作标签:

1.文本内容操作

innerHTML与innerText
d.innerText;#获取标签中的文本内容
d.innerText='修改内容' #更改标签内文本内容
d.innerHTML; #获取标签中的所有内容,包含html代码
d.innerHTML='<a href="http://www.imdsx.cn">大师兄</a>' #innerHTML 可以将含有HTML代码的字符串变为标签 input、textarea标签
d.value; #获取input,textarea参数
d.value='内容' #对input、textarea的内容进行赋值 select标签
d.value; #获取select标签的value参数
d.value='选项' #修改select选项
d.selectedIndex; #获取select标签的选项下标
d.selectedIndex=1; #通过下标更改select的选项

操作样式:

d.className='c1'; #更改标签class属性 只能有一个class属性
d.classList; #获取样式数组
d.classList.add('aaa'); #添加样式 数组
d.classList.remove('aaa'); #删除样式 d.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)

}

事件

直接绑定:直接在标签中绑定

间接绑定

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

直接绑定
<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() //鼠标离开悬浮时触发操作

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

  1. JQuery基础DOM操作

    DOM创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作.但实际上一般开发者都习惯性的先定义好HTML结构,但这样就非常不灵活了. 试想下这样的情况:如 ...

  2. 重撸js_2_基础dom操作

    1.node 方法 返回 含义 nodeName String 获取节点名称 nodeType Number 获取节点类型 nodeValue String 节点的值(注意:文本也是节点) 2.inn ...

  3. javascript基础DOM操作

    DOM 中的三个字母,D(文档)可以理解为整个 Web 加载的网页文档:O(对象)可以理解为类似 window 对象之类的东西,可以调用属性和方法,这里我们说的是 document对象:M(模型)可以 ...

  4. ionic准备之angular基础——dom操作相关(6)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 基础DOM和CSS操作(三)

    CSS方法 jQuery不但提供了CSS的核心操作方法,比如.css()..addClass()等.还封装了一些特殊功能的CSS操作方法,我们分别来了解一下. width()方法 方法名 描述 wid ...

  6. 基础DOM和CSS操作(二)

    元素样式操作 元素样式操作包括了直接设置CSS样式.增加CSS类别.类别切换.删除类别这几种操作方法.而在整个jQuery使用频率上来看,CSS样式的操作也是极高的,所以需要重点掌握. CSS操作方法 ...

  7. 基础DOM和CSS操作(一)

    DOM简介 DOM是一种文档对象模型,方便开发者对HTML结构元素内容进行展示和修改.在JavaScript中,DOM不但内容庞大繁杂,而且我们开发的过程中需要考虑更多的兼容性.扩展性.在jQuery ...

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

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

  9. javascript DOM 操作基础知识小结

    经常用到javascript对dom,喜欢这方便的朋友也很多,要想更好的对dom进行操作,这些基础一定要知道的.   DOM添加元素,使用节点属性  <!DOCTYPE html PUBLIC ...

随机推荐

  1. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_07 Collections工具类_1_Collections集合工具类的方法

    这是一个个的添加的方式 参数是个可变的元素.可以传递任意多的元素 shuffle打乱集合元素顺序

  2. base64编解码的两个函数

    base64编解码的两个函数,声明,参考网络上的代码实现. unsigned char *base64_encode(unsigned char *str, long* lpBufLen) { lon ...

  3. (4.30)全面了解触发器:DML、DDL、LOGON触发器

    DML.DDL.LOGON触发器 转自:https://www.cnblogs.com/seusoftware/p/9120632.html 触发器可以理解为由特定事件触发的存储过程, 和存储过程.函 ...

  4. HDU-1181 变形课(多种方式,好题)

      首先想到的是并查集,然后WA...原因在这,我第一次敲的是Find(1) == Find(12)来作为可以成功的条件,实际上这样是不行的,比方说 bell 和 mail实际上是不满足条件的,可以理 ...

  5. JS—图片压缩上传(单张)

    *vue+webpack环境,这里的that指到vue实例 <input type="file" name="file" accept="ima ...

  6. [转载]企业级应用架构(NHibernater+Spring.Net+MVC3)

    本人已经从事公司两套这类架构系统的开发工作啦!对于这套架构,我惊叹不已!BPS和CMS系统都是采用这套架构.但本人也同时渐渐发现了这套架构有诸多 不足之处,于是本人利用闲暇时光进一步改进了这套架构.新 ...

  7. SQL结构化查询语言

    一.SQL 结构化查询语言 1.T-SQL 和 SQL的关系 T-SQL是SQL的增强版 2.SQL的组成 2.1 DML (数据操作语言) 增加,修改,删除等数据操作 2.2 DCL (数据控制语言 ...

  8. Vue —— You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use /* eslint-disable */ to ignore all warnings in a file.问题

    方法1: 在build/webpack.base.conf.js文件中,找到module->rules中有关eslint的规则,注释或者删除掉就可以了 module: { rules: [ // ...

  9. css设置不允许复制文本内容

    之前做一个网上答题的页面时,考虑到要防止考生利用复制粘贴来提高作弊的可能性,就设计了不允许复制.方法也很简单,通过设置CSS 的 user-select就可以达到目的: -moz-user-selec ...

  10. java 回调的原理与实现

    回调函数,顾名思义,用于回调的函数.回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数.回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机. 回调原本应该是一个非常简 ...