10.24JS日记
1、函数都有返回值,人为return,返回什么就是什么,否则,他的返回值就是undefined
而方法的本质也是函数,所以也有返回值
document.getElementById()返回的是获取的标签
document.getElementsClassName()返回的是一个数组集合
document.getElementsTagName()返回的是一个数组集合
选中一个元素修改他的内容 (上边三个)
document.getElementsByClassName("name")[0].innerHTML="hahahh";这句话的意思
是选中一个所有用class起一个名字的元素数组,并选中数组中的第一个叫做这个名字的标签,给它
修改内容为hahahh。
2、改变标签的属性 元素.属性名
var pic=document.getElementsByTagName("img");
pic[0].src="路径src.jpg''
3、修改和添加css样式 元素.style.width(css属性名)="属性值";
var pic=documentByTagName("img");
pic[0].style.width="500px";
4、事件:用户在事件中所触发的行为
(1)点击 onclik
(2)鼠标进入 onmouseenter 鼠标离开onmouseleave
(3)鼠标移动 onmousemove
(4)鼠标悬浮 onmouseover 鼠标移除 onmouseout
(5)鼠标按下 onmousedown 鼠标抬起 onmouseup
(6)表单聚焦 onfocus 表单失去焦点 onblur
表单内容修改 onchange
(7)浏览器加载完成 onload
这些事件使用时必须跟一个函数配合使用
1)事件 将事件当做标签属性使用 <img src="xx.jpg" onclik="alert(123)"/>
2)通过事件绑定,将事件当成一个元素的属性
特例:对于class,html中的class在js中是关键字,获取class这个属性时必须使用clssName来获取或修改
pic[0].onlick=function(){
pic[0].className="pic"
}
5、JS中的for循环没有关系都是互相独立的
*解决10.24案例中的i和for匹配的问题
方法一:给事件套用一个自调用函数
for( var i=0;i<arr.length;i++){
(function(i){
lis[i].onlick=function(){
tupian.src=arr[i]
}
})
}
方法二:人为定义属性,将索引存在属性里,需要的时候调用属性(this)
for( var i=0,i<arr.length,i++){
人为定义一个属性,来存储for循环的i
lis[i].index=i;
lis[i].onlick=function(){
tupian.src=[this.index]
}
}
*this
this是js的一个关键字,它是一个对象,一般用在函数里用于指向函数内部的关系
div.onlick=function(){this}
如果函数在定义的时候前面有,那么this就指向点前面的对象,如果函数定义的时候没有对象,那么this就是window
10.24JS日记的更多相关文章
- 10.22JS日记
1.js数据类型分析 (1)基础类型:string.number.boolean.null.undefined (2)引用类型:object-->json.array... 2.点运算 xxx ...
- 10.17JS日记
1.变量提升 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域,叫window, window分为两个模块,一个叫做内存模块,一个叫做运行模块,内存模块找到当前作用域下的 ...
- 9.10 h5日记
9.10 1.什么是属性 属性是表示某些事物的一些特征 2.属性分为标签属性和样式属性,二者的区别在于哪里 标签属性:<img src="01.jpg" width=&quo ...
- 10.31JS日记
this问题 (1)this是js的一个关键字,指定一个对象,然后替代this: 函数中的this指向行为发生的主体,函数外的this都指向window,没有意义 (2)函数内的this跟函数在什么环 ...
- 10.23JS日记
1.逻辑运算 || && ! ||:遇到第一个为true的值就中止并返回 &&:遇到第一个为false的值就中止并返回,如果没有false值,就返回最后一个不是fa ...
- 10.19JS日记
1.函数 关键词(function) var是js的关键字,用于声明变量,声明在内存模块完成,定义(=)是在执行模块完成 var可以在内存模块提前完成(js代码执行前),所以有变量提升这个功能 c ...
- 10.18JS日记
1.JS的本质就是处理数据,数据来自后台的数据库,所以变量起到了临时存储的作用, ES制定了js的数据类型 2.数据类型有哪些? (1)字符串 String (2)数字 Number (3)布尔 B ...
- 10.16JS日记
1.parseint() 2.parsefloat() 这两个单词运行的时候遇到第一个非数字就结束了 3.var a="hello word" a这个变量为字符串,每一个字母为字 ...
- 10.9h5日记
一.单位 1.px是基本的单位,像素 2.em也是一个单位,使用方式,用元素父级的字体大小乘以em前的数字,父级没有就向上一个父级找, 直到body为止,如果body没有,就用默认的字体大小16px ...
随机推荐
- openwrt手工配置pptpd
官方wiki:http://wiki.openwrt.org/doc/howto/vpn.server.pptpd#prerequisites 20190220更新:PPTP VPN协议已经被 IOS ...
- angularjs中安卓原生APP调用H5页面js函数,js写法应注意
安卓原生app调用js方法,js方法应写在html下的script标签内,不能有任何function包裹,例如angular的controller层,这样APP也是获取不到的: 所以只有放在html中 ...
- js中将类数组转换为数组的几种方法
1.slice方法 最经典的方法,使用Array的slice方法,此方法如果不传参数的话会返回原数组的一个拷贝,因此可以用此方法转换类数组到数组: // 创建一个类数组对象 var alo = {0: ...
- Java多线程及线程状态转换
以下内容整理自:http://blog.csdn.net/wtyvhreal/article/details/44176369 线程:是指进程中的一个执行流程. 线程与进程的区别:每个进程都需要操作 ...
- Cacti ERROR: opening '*.rrd': No such file or directory 解决方法
error: opening /home/cacti/rra/url-2 no such file or directory 在看Cacti Graph Debug Mode发现如下报错 RRDToo ...
- 七、Builder 建造器模式
需求:需要组装复杂结构的实例 代码清单: Builder 接口: public abstract class Builder { public abstract void makeTitle(Stri ...
- 一、Iterator 迭代器
需求:如何不适用for循环,依次遍历出数组中每个元素? 设计原理: 代码清单: 接口类 public interface Iterator { boolean hasNext(); Object ne ...
- commit 流程
COMMIT是一个非常快的操作,当我们发布commit命令时,真正困难的动作已经完成,在数据库中已经执行了数据更改,所以已经完成了99%的任务,例如:下列操作已经产生: 1.在SGA(Buffer C ...
- zabbix监测公网IP的客户端主机
未经测试 如果server端是内网的主机,需要注意:防火墙.端口映射 再用zabbix服务器去Telnet客户机的10050端口,然后在客户机中查看10050被什么ip访问了,拿到这个ip之后,加到之 ...
- rancher2 HA部署注意事项
参考: https://rancher.com/docs/rancher/v2.x/en/installation/ha-server-install/ https://www.cnblogs.com ...