属性(attribute)

  function fn(){

      console.log(123)

    }

  fn()

  var a=fn()                 将函数fn()调用结果赋值给a

  1.函数都有返回值

  而方法的本质也是函数,所以也有返回值

  1)获取标签

  document.getElementById()                                 通过id获取

  document.getElementByClassName()                  通过class获取

  document.getElementByTagName()                       通过标签获取

  2)改变标签属性

  var pic=document.getElementByTagName("img");

    pic[0].src="01.jpg";

  3) 改变样式属性

    元素.样式.css属性名="属性值";

   列:pic[0].style.width="100px";

  dom事件(用户在网页中触发的行为)     比如:点击、鼠标滑动、键盘、表单等

  鼠标滑动的效果

  点击 :onclick

  鼠标进入:onmouseenter

  鼠标离开:onmouseleave

  鼠标悬浮:onmouseover

  鼠标移除:onmouseout

  鼠标移动:onmousemove

  鼠标按下:onmousedown

  鼠标抬起:onmouseup

  表单聚焦:onfocus

  表单失去焦点:onblur

  表单内容修改:onchange

  浏览器加载完成: onload

  事件的使用方法必须跟一个函数配合

  1.事件,将事件当作标签属性使用     例如<img src="01.jpg"    onclick="alert(123)"  />

  2.通过事件绑定,将事件当成元素的属性

    pic[0].onclick=function(){

      alert(456)

      }

  因为class也是js的关键字

    所以获取class这个属性时必须使用ClassName来修改、获取

  数组中的元素通过索引进行操作

  

    <div class="aa">
      <div class="bb">
        <img src="img/03.jpg" class="dd" id="imgs"/>
      </div>
      <ul class="cc">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
      </ul>
    </div>

  var arr=["img/01.jpg","img/02.jpg","img/03.jpg","img/04.jpg"]

  var lis=document.getElementsByTagName("li")                //lis是获取li构成的数组

  var tupian=document.getElementsById("imgs")

   for(var i=0;i<arr.length;i++){

    lis[i].onclick=function(){

      console.log(i)           i=4         不管发生什么事,浏览器都向下执行

      }

     }

  js中for循环和事件的关系

    事件的执不执行,和for循环没有关系,都是相互独立的

  所以要解决事件中 i 和 for 匹配

  1.自调用可以解决这个问题

  (function (i){

    lis[i].onclick=function(){

      tupian.src=arrr[i]

      }

    })(i)             但是消耗cpu所以不建议使用

  2.人为定义一个属性,用于存储于for循环 与i

    

    for(var i=0;i<arr.length;i++){
      lis[i].index=i     (人为的定义一个属性)
      lis[i].onclick=function(){
       tupian.src=arr[this.index];
          }

      }

  this是js一个关键字,他是对象,一般用在函数里用于函数内部的关系

  如果对象函数定义前面那么this就指定点前面的:

   <div onclick="fn(this)"></div>

   <script>
    function fn(x){
      x.style.background="blue";
      }
   </script>              如果函数定义时没点,那么this就是window

  2.人为定义属性,将索引存在属性里,需要时候调用(不会无端的消耗CPU)

  

   for(var i=0;i<arr.length;i++){
      lis[i].index=i     (人为的定义一个属性)
      lis[i].onclick=function(){
       tupian.src=arr[this.index];
          }

      }

js用法的更多相关文章

  1. xss其他标签下的js用法总结大全

    前段时间我遇到一个问题,就是说普通的平台获取cookie的语句为↓           Default <script src=js地址></script> 1 <scr ...

  2. jquery.validate.min.js 用法方法示例

    页面html 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  3. jquery.cookie.js 用法

    jquery.cookie.js 用法   一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 j ...

  4. 移动端下拉刷新,iScroll.js用法(转载)

    本文转载自: iScroll.js 用法参考 (share)

  5. jq和js用法:入口写法

    jq和js入口写法demo: <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  6. iScroll.js 用法参考 (share)

    分享是传播.学习知识最好的方法 以下这篇文章是iScroll.js官网的中文翻译,尽管自己英文不好,但觉得原作者们翻译的这个资料还是可以的,基本用法介绍清楚了.如果你英文比较好的话,可以看看官网的资料 ...

  7. velocity.js用法整理1

    velocity.js 此框架相对于JQ的运动算法, 有很大的优势. 例如,A和B两个元素,position:absolute;  top:0; 现在让A元素用JQ的animate,B用velocit ...

  8. dva.js 用法总结

    dva.js是阿里前端团队开发的一个基于react.redux.webpack的一个前端框架,他能够实现react-redux-webpack环境一键部署,能帮前端工程师节省不少环境搭建的时间.而且经 ...

  9. iscroll.js 用法介绍

    iscroll-5中文文档:http://wiki.jikexueyuan.com/project/iscroll-5/ 概要 iScroll 4 这个版本完全重写了iScroll这个框架的原始代码. ...

  10. 模板引擎doT.js用法详解

    作为一名前端攻城师,经常会遇到从后台ajax拉取数据再显示在页面的情境,一开始我们都是从后台拉取再用字符串拼接的方式去更达到数据显示在页面! <!-- 显示区域 --> <div i ...

随机推荐

  1. 第一个dubbo+zookeeper项目例子

    公司项目要用这两个东西,于是打算学习它. 首先我的理解dubbo是什么?zookeeper是什么?为什要这么搞. 项目分层: 传统的,mvc -->垂直架构(将模块抽取成单独项目,项目互相调用) ...

  2. SharePoint 2013的100个新功能之内容管理(三)

    一:视频中的人 作为视频内容类型的一部分,一个新的栏"视频中的人"被加入到其中,可以指定视频中的人,作为视频的元数据.当你编辑视频属性时可以查看到该栏.更多信息 二:重建索引 一个 ...

  3. 2019.1.7 Russia temperature control demo

    1layout 2导出Gerber 做钢网 3刷锡膏 4.1调SMT程序: a摆元件,写P/N位置 b定位检测点 4.2手贴元件 手别抖! 5过炉 温度270 6插件PCBA 做载板最方便,手插焊接也 ...

  4. JDK中Integer类的进制转换实现

    JDK中关于Integer类的进制转换方法很精巧,具体实现如下: final static char[] digits = { '0' , '1' , '2' , '3' , '4' , '5' , ...

  5. C#中数组数据类型字符串转double型问题

    再给你说一下我的意思吧.有一个string类型的数组a,a中的每一个元素实际上是一个小数,现在是想把a中的这些小数全都从string型转换成double类型,最后组成一个double型的数组b,说白了 ...

  6. Excel 设置标题栏

    1. 选中列表标题行, 可以设置字体居中显示,并放大字体以表示这是标题栏. 2. 选中列表第一数据行,即列表标题行下一行,选择View > Freeze Panes.

  7. spring读取propertyes 新方法

    <context:property-placeholder location="classpath:mysql.properties"/> <util:prope ...

  8. 截图保存 matlab

    file=dir('D:\Program Files\MATLAB\R2014a\bin\MyPro\OCR\图像中时间识别\')for i=3:length(file) path= strcat(' ...

  9. Nginx+Keepalive实现高可用负载均衡

    1.准备2台服务器 服务器名LB1,假设IP为192.168.1.100 服务器名LB2,假设IP为192.168.1.101 2.在LB1,LB2上分别安装Nginx 步骤参照:http://blo ...

  10. 在intent-filter中的配置

    1.scheme约束和mimetype的数据类型,这些都可以自己去定义. 2.但是由于在MainActivity却不能直接将这两个参数分开来写,例如setdata和settype,这样会互相删除. 因 ...