1. BOM

  1. location相关
    1. location.href
    2. location.href="http://www.sogo.com"
    3. location.reload()

2. DOM
  1. DOM树的概念

  2. JS通过DOM操作HTML
    1. 改标签(标签的内容)
    2. 改标签的属性
    3. 改样式
    4. 事件相关

3. 操作标签
  1. JS查找标签

    1. 直接查找
      1. 通过ID document.getElementById("ID值")
      2. 通过class找 document.getElementsByClassName("class名")
      3. 通过标签名找 document.getElementsByTagName("标签名")
    2. 间接查找
      1. 找父标签
      2. 找字标签们
      3. 找第一个子标签
      4. 找最后一个子标签
      5. 找上一个兄弟标签
      6. 找下一个兄弟标签
  2. 创建标签
    1. 语法:
      document.createElement("标签名") *****
  3. 添加标签
    1. 在内部最后添加
      父标签.appendChild(新创建的标签)
    2. 在内部指定标签前面添加
      父标签.insertBefore(新创建的标签,指定标签)
  4. 删除标签
    1. 从父标签里面删除指定的标签
      父标签.removeChild(指定的标签)
  5. 替换
    1. 在父标签里面用新创建的标签替换指定标签
      父标签.replaceChild(新创建的标签,指定的标签)
  6. 操作标签的属性
    1. 常用的属性 *****
      1. innerHTML --> 全部(子标签及子标签的文本内容)
      2. innerText --> 标签(子标签)的文本内容

    2. 标签的属性
      1. .setAttribute("age","18") --> 设置属性
      2. .getAttribute("age") --> 获取属性的值
      3. .removeAttribute("age") --> 删除指定的属性

      4.对于标签默认的属性
      1. a标签.href/img标签.src
      2. a标签.href="http://www.sogo.com"/img标签.src="..."

      5. 获取值(input/select/textarea)
        input标签.value()
        select标签.value()
        textarea标签.value()
      6. 操作标签的样式
        1. 通过class名去改变样式
          1. 获取标签所有样式类
            1. .className --> 得到的是字符串
            2. .classList --> 得到的是数组
  
        2. 使用classList操作样式
          1. .classList.contains("样式类") --> 判断包不包含指定的样式类
          2. .classList.add("样式类") --> 添加指定的样式类
          3. .classList.remove("样式类") --> 删除指定的样式类
          4. .classList.toggle("样式类") --> 有就删除没有就添加

        3. 通过.style直接修改CSS属性
          1. CSS属性带中横线的
            background-color: red;
            .style.backgroundColor=green;
          2. CSS属性中不带中横线的
            .style.color=red;

      7. 事件相关
        0. 注意:涉及到DOM操作的JS代码要放在body标签内部的最下面!!!

        1. 绑定事件的方式
          1. 在标签内通过属性来设置(onclick=foo(this))
            this指的是当前触发事件的标签!!!
        2. 通过JS代码绑定事件

2. 常用的事件
  1. onclick 当用户点击某个对象时调用的事件句柄。
  2. ondblclick 当用户双击某个对象时调用的事件句柄。

  3. onfocus 元素获得焦点。 // 练习:搜索框
  4. onblur 元素失去焦点。 应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.

  5. onchange 域的内容被改变。 (select联动示例)

3. 1. jQuery

  1. 为什么要学jQuery? MySQL Python
    做同样的事情 jQuery写起来极其简练 (write less, do more.)
  2. jQuery是什么?
    jQuery相当于Python的第三方模块
    第三方模块其实就是别人写好(封装)的一些代码,我们拿过来用(按照别人定好的规则)

    原生的JS DOM操作是基础
  3. jQuery学习的内容
    1. 改变标签
    2. 改变标签的属性
    3. 改变标签的样式
    4. 事件相关

  学习内容:(先导入再使用)
    0. HTML对象和jQuery对象的区别
    1. jQuery对象转换成DOM对象,用索引取出具体的标签
    2. DOM对象转换成jQuery对象,$(DOM对象)

    注意:jQuery对象保存到变量的时候,变量名要加$前缀

  1. 找标签
    1. 基本选择器
      1. $("ID值")
      2. $(".class名")
      3. $("标签名")

      4. $("*") 找所有
      5. $("条件1,条件2") 组合查找

  2. 层级选择器
    同CSS选择器
    1. $("x y");// x的所有后代y(子子孙孙)
    2. $("x > y");// x的所有儿子y(儿子)
    3. $("x + y")// 找到所有紧挨在x后面的y
    4. $("x ~ y")// x之后所有的兄弟y

  3. 基本筛选器
    1. :first // 第一个
    2. :last // 最后一个
    3. :eq(index)// 索引等于index的那个元素
    4. :even // 匹配所有索引值为偶数的元素,从 0 开始计数
    5. :odd // 匹配所有索引值为奇数的元素,从 0 开始计数
    6. :gt(index)// 匹配所有大于给定索引值的元素
    7. :lt(index)// 匹配所有小于给定索引值的元素
    8. :not(元素选择器)// 移除所有满足not条件的标签
    9. :has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)

  4. 属性选择器
    1. [attribute]
    2. [attribute=value]// 属性等于
    3. [attribute!=value]// 属性不等于

  5. 表单选择器
    :text
    :password
    :file
    :radio
    :checkbox

    :submit
    :reset
    :button

  6. 筛选器
    1. 上一个
    2. 下一个
    3. 父元素
    4. 儿子和兄弟
  7. .find()
    注意应用场景

2. 操作标签
  1. 操作class类
  1. addClass()
  2. removeClass()
  3. hasClass()
  4. toggleClass()

JS和JQuery概括的更多相关文章

  1. 【前端性能】必须要掌握的原生JS实现JQuery

    很多时候,我们经常听见有人说jquery有多快多快.在这个各种类库满天飞的时候,不得不说的是,能有原生JS快吗? 是的,明显原生JS要更快,因为诸如JQuery这样的库必须要兼容各种浏览器和低版本和许 ...

  2. 移动端用js与jquery实时监听输入框值的改动

    背景: 在一次移动端H5开发中,需要监听输入框值的实时变动. onchange事件肯定抛弃,因为只能失去焦点才触发. 而keyPress在Android可以触发,iOS不可以. 又不想用Android ...

  3. label用js,jquery取值赋值,以及怎么在后台取值

    label标签在JS和Jquery中使用不能像其他标签一样用value获取它的值: 可以这样: JS: var label=document.getElementByIdx_x("id&qu ...

  4. JS与Jquery区别

    很多人对JS和JQuery很容易搞混淆,今天我们就相比学习下: 加载区别: var myfunction(){}; JS:1.window.onload=function(){} 2.<body ...

  5. js和jquery如何获取图片真实的宽度和高度

    按照插入的图片的尺寸来判断图片是横图还是竖图.然后判断过后给予不同的展示方式,下面为大家介绍下js和jquery如何获取图片真实的宽度和高度   1.什么时候需要获取图片真实的宽度和高度 在做pc网页 ...

  6. JS和JQuery的总结

    JS部分 一,  词法结构 区分大小 注意://单行  /*多行注释*/ 字面量(直接量literal) 12 // 数字 5.8//小数 "hello" 'hello' true ...

  7. js和jquery获取当前对象的子元素

    开发中经常遇到需要获取ul下的il对象,个人总结了js和jquery的方法. HTML片断: <ul class="box"> <li>子元素1</l ...

  8. js+html+jquery 个人笔记

    js+html+jquery 笔记 1.获取HTML对象 var obj = document.getElementById(elementId) 对象的值: obj.value() 2.获取jQue ...

  9. prototype.js 和 jQuery.js中 ajax 的使用

    这次还是prototype.js 和 jQuery.js冲突的问题,前面说到过解决办法http://www.cnblogs.com/Joanna-Yan/p/4836252.html,以及上网说的大部 ...

随机推荐

  1. Hive HA基本原理

  2. [JZOJ3320] 【BOI2013】文本编辑器

    题目 题目大意 给你一个文本,要删去其中所有的'e'. 有三种操作: h光标左移. x删除光标上面的字母(光标是横着的). fc跳到后面的第一个字符为'c'的位置. 问操作序列的最短长度. 思考历程 ...

  3. lxhgww的奇思妙想 长链剖分板子

    https://vijos.org/d/Bashu_OIers/p/5a79a3e1d3d8a103be7e2b81 求k级祖先,预处理nlogn,查询o1 //#pragma GCC optimiz ...

  4. C语言结构体初始化方法

    早上苏凯童鞋问我这个问题来着,写在这里. 我了解到的C中结构体初始化的方法大概有三种. 如这里我定义了一个结构体: typedef struct node { int x, y; }Node; 第一种 ...

  5. 尚学linux课程---6、linux命令介绍

    尚学linux课程---6.linux命令介绍 一.总结 一句话总结: linux中命令的一般格式:命令关键字 选项 参数1 参数2 1.linux基本原则? 一切皆文件 配置文件保存为纯文本格式 2 ...

  6. VS2010-MFC(常用控件:树形控件Tree Control 上)

    转自:http://www.jizhuomi.com/software/200.html 前面两节讲了列表视图控件List Control,这一节开始介绍一种特殊的列表--树形控件Tree Contr ...

  7. iOS扩展Extension之Today

    1.简介 扩展(Extension)是iOS 8中引入的一个新特性.扩展让app之间的数据交互成为可能.在iOS 8系统之前,每一个app在物理上都是彼此独立的,app之间不能互访彼此的私有数据.而在 ...

  8. hive 总结四(优化)

    本文参考:黑泽君相关博客 本文是我总结日常工作中遇到的坑,结合黑泽君相关博客,选取.补充了部分内容. 表的优化 小表join大表.大表join小表 将key相对分散,并且数据量小的表放在join的左边 ...

  9. day 70 Django基础五之django模型层(二)多表操作

    Django基础五之django模型层(二)多表操作   本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 ORM ...

  10. Appium测试过程中,建议使用谷歌输入法。用搜狗输入法报错报找不到元素,卡住

    1. 手机使用谷歌输入法,在登录页面输入密码时输入数字时卡住报错 代码: 手机卡住 页面:看到页面上没有显示数字,所以卡住报错