html_JavaScript获取元素_事件_属性操作_样式操作_类名操作

为什么要获取元素?

我们想要操作页面上的某部分(显示/隐藏,动画),需要先获取到该部分对应的元素,才进行后续操作

1. 根据id获取元素

       document.getElementById("bo1x");

注意:①如果没有指定的id,则返回值为null

  • 档是从上往下一次执行
  • console.dir()  输出的是元素对应的标签的内容
  • 如何获取对象的类型(对象是有类型的)

Typeof  不能获取对象的具体类型,返回值始终是object

  • console.log(对象.constructor) constructor 构造器,返回对象的构造函数
  • 获取到的数据类型HTMLDivElement,对象都是有类型的

2.根据标签名获取元素

document.getElementsByTagName('div');

伪数组,返回值就是一个伪数组,但是不具备数组的方法

3.根据name获取元素

document.getElementsByName('div');

  • 返回的是NodeList类型(节点的集合),返回值是元素

4.根据classname获取元素

document.getElementsByClassName("div1");

返回值是HTMLCollection,是一个集合

5. querySelector HTML5中新增的方法)

Document.querySelector(“选择器名称”)

查找一个元素,如果页面上有多个符合条件的元素,只返回第一个标签。

返回值为Nodelist(元素)

6. querySelector HTML5中新增的方法)

Document.querySelectorAll(“选择器名称”)

返回一个集合,还是一个Nodelist(元素)的集合

事件

Onclick

事件的名称是clickon是事件的开头

事件的三要素:

事件源:触发事件的元素

事件名称:click

事件处理函数:触发事件之后做的事情

如果想取消后续内容的时候在代码后添加如下代码:

Return false

EG1:实现单击按钮切换图片

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
	</style>
</head>
<body>
	<input type="button" id="bu1" value="切换"><br>
	<img src="./img/4.jpg" alt="" id="im1">

	<script>
		//1.获取超链接
		var link = document.getElementById("bu1");
		// flag=1 4.jpg  flag=2 5.jpg
		var flag = 1;
		//2.给超链接注册图片
		link.onclick = function (){
			//3.切换图片
			var im = document.getElementById("im1");
			if (flag ==1){
				flag=2;
				im.src = "./img/5.jpg";
			}else{
				flag=1;
				im.src = "./img/4.jpg";
			};
			//4.取消a标签的默认行为
			return false;
		}
	</script>
</body>
</html>

属性操作

非表单元素的属性

Href,title.id,sec,className

注意:标签中有什么属性,使用document.getElementById后的对象就有相同名的属性,但是class除外,它的名是className,因为class是关键字

补充:

1.disabled 属性规定应该禁用 input 元素。

被禁用的 input 元素既不可用,也不可点击。可以设置 disabled 属性,直到满足某些其他的条件为止(比如选择了一个复选框等等)。然后,就需要通过 JavaScript 来删除 disabled 值,将 input 元素的值切换为可用。

2.在事件处理函数中,this---事件源触发事件的对象。

函数中this--->window对象

Function fn(){
Console.log(this)
}

方法中this--->是调用该方法的对象

var obj ={
	Name:”zs”,
	Say:function (){
	Console.log(this);
}	
}
obj.say();

构造函数中this--->当前对象

事件处理函数中this--->触发事件的对象,事件源

补充:innerHTML innerTEXT的区别(innerHTML不是标准的DOM标准

使用innerHTML的时候一般当插入的内容中存在开始和结束标签。

获取内容:

InnerHTML   获取内容的时候,会把标签也获取到+

InnerTEXT   获取内容的时候,会把标签过滤掉

设置内容:

InnerHTML   设置内容的时候,会把标签进行解析

InnerTEXT   设置内容的时候,会把标签进行转义

另外:低版本浏览器不支持innerText,支持textContent

表单元素属性

value 用于大部分表单元素的内容获取(option除外)

type  可以获取input标签的类型(输入框或复选框等)

disabled 禁用属性

checked 复选框选中属性

selected下拉菜单选中属性

补充:禁用属性(disabled)

当标签的属性只有一个值的情况下,一般DOM元素对应的此属性的类型是布尔类型

自定义属性操作

样式操作

类名操作

Var btn = document.getElementById(“btn”);

btn.className = “current”

 

猜你喜欢

转载自blog.csdn.net/jss19940414/article/details/84997027