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. audit的日志

    audit审计, audio 声音, 音频 audit的日志, 有两个可能的地方: 一是, /var/log/messages 文件中 二是, 如果开启了audit服务, 则 在/var/log/au ...

  2. 用Vue来实现音乐播放器(二十):Vuex初始化及歌手数据的配置

    state:所有组件的所有状态和数据  放入同一个内存空间去管理 我们把它称为state Vue Components:state里面的数据可以方便的映射到组件上 然后渲染组件 Actions:当组件 ...

  3. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_02 泛型_1_泛型的概念

    ArrayList的源码,.在定义的时候用到了E这个E就是一个未知类型 ArrayList里面的add方法,参数也是E 包括我们之前常用的get方法 返回值也是E 类型什么时候可以确定呢?创建集合对象 ...

  4. rpm安装软件时提示warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105b9de

    在RedHat下有时候用rpm安装软件是会出现下面则中错误 1.安装时提示:warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105 ...

  5. @SuppressWarnings https://www.cnblogs.com/fsjohnhuang/p/4040785.html

    一.前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @SuppressWar ...

  6. YOLOv3 算法的详细说明

    YOLOv3没有太多的创新,主要是借鉴一些好的方案融合到YOLO里面.不过效果还是不错的,在保持速度优势的前提下,提升了预测精度,尤其是加强了对小物体的识别能力. 本文主要讲v3的改进,由于是以v1和 ...

  7. 信息收集【采集点OWASP CHINA】网址http://www.owasp.org.cn/

    以下部分源于 安全家 http://www.anquanjia.net.cn/newsinfo/729480.html 资源虽多,优质却少.不要被信息海迷惑的心智,新人要想入门,除了优质的系统教学资源 ...

  8. ES6新增特性

    ES6:  ECMA 第六次改版   块级作用域:   凡是被{ }包裹住的代码都是块级作用域,除了对象       特点:会造成一个暂时性死区    新增声明变量的两种方式: let:     a. ...

  9. pandas 入门(3)

    from pandas import Series, DataFrame, Index import numpy as np # 层次化索引 对数据重塑和分组操作很有用 data = Series(n ...

  10. append动态生成的元素,无法触发事件的原因及解决方案

    今天笔者在实现一个简单的动态生成元素功能的时候,发现了一个问题: 使用append动态生成的元素事件绑定失效了. 查阅资料后发现: click(fn)当选中的选择器被点击时触发回调函数fn.只针对与页 ...