javascript学习笔记dom-获取元素,事件,操作元素

DOM简介

DOM:文档对象模型

获取元素

console.dir() 打印返回的元素对象查看里面的属性和方法

  1. 根据ID获取
document.getElementById();
  1. 根据标签名获取
    getElementsByTagName()方法可以返回带有指定标签的对象的集合,以伪数组的形式存储

  2. 根据标签名获取
    element(父元素).getElementsByTagName(‘标签名’);
    注意:父元素必须是单个对象,获取是不包括父元素

  3. 根据类名获取(html5新增)

document.getElementsByClassName()
  1. HTML5新增的方法获取
 document.querySelector('选择器')//根据指定选择器返回第一个元素对象
 document.querySelectorAll('选择器');//根据指定选择器返回所有的元素对象
  1. 获取body和html元素
doucument.body();//获取body元素
doucument.documentElement();//获取html元素

事件基础

事件由三部分组成:事件源,事件类型,事件处理程序
(1)事件源:事件被触发的对象
(2)事件类型:如何触发什么事件 比如鼠标点击,经过
(3)事件处理程序 通过一个函数赋值的方式

执行事件的步骤
1.获取事件源
2.注册事件(绑定事件)
3.添加事件处理程序(采取函数赋值形式)
常见的鼠标事件

鼠标事件触发条件
onclick鼠标点击左键触发
onmouseover鼠标经过触发
onmouseout鼠标离开触发
onfocus获得鼠标焦点触发
onblur失去鼠标焦点触发
onmousemove鼠标移动触发
onmouseup鼠标弹起触发
onmousedown鼠标按下触发

操作元素

改变元素内容

从起始位置到终止位置的内容,去除html标签,同时空格和换行也会换掉
element.innerText
从起始位置到终止位置的全部内容,包括html标签,同时保留空格和换行
element.innerHTML
innerText和innerHTML区别

<body>
	<div></div>
	<script>
		var div = document.querySelector('div');
		div.innerText = '<strong>今天</strong>2020';
		// <strong>今天</strong>2020
		div.innerHTML = '<strong>今天</strong>2020';
		//今天2020
	</script>
</body>

总结:
innerText不识别html标签 非标准 去除空格和换行
innerHTML识别html标签 标准 保留空格的换行
这两个属性可读写
元素属性操作
element.attribute
样式属性操作
1.element.style 行内式操作(样式少)
2.element.className 类名样式操作(样式多)
注意:element.style里面的属性,采取驼峰命名法
修改style样式操作,产生的是行内样式,css权重比较高
className 会直接更改元素的类名,会覆盖原先的类名

自定义属性的操作

  1. 获取属性值
    element.属性
    element.getAttribute(‘属性’)
    区别:
    element.属性 获取内置属性值(属性本身自带的属性)
    element.getAttribue(‘属性’) 主要获得自定义的属性
    自定义属性的操作

  2. 设置属性值
    element.属性 = ‘值’
    element.setAttribute(‘属性’,‘值’)

  3. 移除属性
    element.removeAttribute(‘属性’)
    自定义属性的目的:是为了保存并使用的数据,有些数据可以保存到页面而不用保持到数据库
    H5规定自定义属性data开头作为属性名并且赋值
    H5新增element.dataset.index 或者element.dataest[‘index’] ie11以上支持

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值