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

js笔记6的更多相关文章

  1. Data Visualization and D3.js 笔记(1)

    课程地址: https://classroom.udacity.com/courses/ud507 什么是数据可视化? 高效传达一个故事/概念,探索数据的pattern 通过颜色.尺寸.形式在视觉上表 ...

  2. js笔记-0

    #js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...

  3. PPK谈JS笔记第一弹

    以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) lo ...

  4. 面向小白的JS笔记 - #Codecademy#学习笔记

    前言 最初浏览过<JavaScript秘密花园>,前一段时间读过一点点<JavaScript语言精粹>和一点点<JavaScript高级程序设计>(一点点是指都只是 ...

  5. require.js笔记

    笔记参考来源:阮一峰  http://www.ruanyifeng.com/blog/2012/10/javascript_module.html   1. 浏览器端的模块只能采用“异步加载”方式 = ...

  6. JS笔记 入门第四

    小测试: 注意:取消所有的设定可以直接使用 document.getElementById("txt").removeAttribute("style"); 这 ...

  7. JS笔记 入门第二

    输出内容 document.write(); alert("hello!"); alert(mynum); </script> 注:alert弹出消息对话框(包含一个确 ...

  8. Node.js笔记1

    Node.js入门笔记 1. node -help 可以显示帮助信息2. node REPL 模式(Read-eval-print loop) 输入—求值—输出循环 直接在cmd输入node 可以进入 ...

  9. JS笔记 入门第一

    WHY? 一.你知道,为什么JavaScript非常值得我们学习吗? 1. 所有主流浏览器都支持JavaScript. 2. 目前,全世界大部分网页都使用JavaScript. 3. 它可以让网页呈现 ...

  10. 奇舞js笔记——第0课——如何写好原生js代码

    摘要 1.好的代码职责要清晰,javscript不要用来操作样式: 2.API要设计的合理:通用性,适度的抽象(数据抽象,过程抽象),可扩展性: 3.效率问题:用好的.合适的算法(前端程序员要把自己当 ...

随机推荐

  1. 还在手动部署jar包吗?快速掌握Jenkins安装,教你使用Jenkins实现持续交付

    Jenkins Jenkins: 开源软件项目 基于Java开发的一种持续集成工具 用于监控持续重复的工作 旨在提供一个开放易用的软件平台, 便于软件的持续集成 基于Docker安装Jenkins 与 ...

  2. mysql登录框注入绕过单引号匹配

    0x00 原理   网站使用正则匹配对用户名一栏传到服务器的参数进行了匹配,如果匹配到了单引号则报错 0x01 简单例子   当我们输入admin'时,网站直接报错,很有可能就是用了正则,这样我们也不 ...

  3. Envoy:经过envoy代理后获取客户端真实IP

    在envoy作为前端代理时,用户ip的获取很重要,一般获取ip的方式.都是通过Header中的 X-Forward-For. X-Real-IP或 Remote addr 等属性获取,但是如果确保En ...

  4. [刷题] PTA 查验身份证

    题目: 7-63 查验身份证 (15 分)  一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5, ...

  5. KVM 添加新硬件

    1 显卡 spice 2视频 qxl驱动 3 声音 ich6最好  ich9最清楚 4 输入 鼠标 智能图   否则不能VNC找不到焦点 5 磁盘大小 至少80G 否则 无法自动安装  无swap和 ...

  6. Linux自动执行任务

    Linux自动执行任务 耗奇害死猫关注 2018.01.04 10:19:45字数 74阅读 142 单次执行用at和batch,周期性任务执行用crontab.任务执行结束后会将结果返回给发起人,通 ...

  7. Hive 配置项详解

    hive.ddl.output.format: hive的ddl语句的输出格式, 默认是text,纯文本,还有json格式,这个是0.90以后才出的新配置: hive.exec.script.wrap ...

  8. Linux useradd 命令介绍

    Linux useradd 命令介绍 作者: Alan Formy-duval 译者: LCTT Brooke Lau | 2020-01-06 22:58 使用 useradd 命令来添加用户(并且 ...

  9. Java JOptionPane 对话框

    如果你对 Java 控制台界面下的输入数据和打印输出结果感到有些乏味和厌倦,希望能够像其他计算机软件一样有一个 GUI 界面(图形用户界面). 那么 JOptionPane 对话框也许会让你眼前一亮, ...

  10. centos 7编译32位软件的问题

    centos 7默认安装的gcc 为64位,所以在编译32位软件时需要用到32位的gcc库,于是可以增加glibc 32位库: sudo yum -y install glibc-bevel.i386