前言

前面已经介绍过了Jquery这门语言,其实就是一个javaScript的库…能够简化我们书写的代码….本博文主要讲解使用Jquery定位HTML控件【定位控件就是获取HTML的标签】,使用Jquery操作DOM的API

选择器

Jquery提供了九个选择器给我们用来定位HTML控件..

  • 目的:通过九类选择器,能定位web页面(HTML/JSP/XML)中的任何标签

    • (1)基本选择器

      • 直接定位id、类修修饰器、标签
    • (2)层次选择器
      • 有父子,兄弟关系的标签
    • (3)增强基本选择器
      • 大于、小于、等于、奇偶数的标签
    • (4)内容选择器
      • 定义内容为XXX、内容中是否有标签器、含有子元素或者文本的标签
    • (5)可见性选择器
      • 可见或不可见的标签
    • (6)属性选择器
      • 与属性的值相关
    • (7)子元素选择器
      • 匹配父标签下的子标签
    • (8)表单选择器
      • 匹配表单对应的控件属性
    • (9)表单对象属性选择器
      • 匹配表单属性具体的值

通过这九种的选择器,我们基本可以能获取HTML中任何位置的标签。


Jquery关于DOM的API

前面使用Jquery的选择器来获取到了HTML标签,单纯得到标签是没有用的。我们要对其进行增删改,这样在网页上才能做出“动态”的效果

JavaScript的DOM能够操作CSS,HTML从而在网页上做出动态的效果..

Jquery是对JavaScript的封装,那么Jquery在得到HTML标签后,也有对应的方法来获取标签的内容,动态创建、删除、修改标签。从而在网页上做出动态的效果

追加

  • append():追加到父元素之后
  • prepend():追加到父元素之前
  • after():追加到兄弟元素之后
  • before():追加到兄弟元素之前

查询层次关系

我们发现在选择器上就有层次关系的选择器,在API上也有层次关系的方法。一般地,我们用方法来定位到对应的控件比较多

  • children():只查询子节点,不含后代节点
  • next():下一下兄弟节点
  • prev():上一下兄弟节点
  • siblings():上下兄弟节点

css样式

  • addClass():增加已存在的样式
  • removeClass():删除已存在的样式
  • hasClass():判断标签是否有指定的样式,true表示有样式,false表示无样式
  • toggleClass():如果标签有样式就删除,否则增加样式

动画效果

往这些方法下设置参数,那么就可以控制它的隐藏、显示时间

  • show():显示对象
  • hide():隐藏对象
  • fadeIn():淡入显示对象
  • fadeOut():淡出隐藏对象
  • slideUp():向上滑动
  • slideDown():向下滑动
  • slideToggle():上下切换滑动,速度快点

CSS尺寸属性

直接调用无参就是获取,给指定的参数就是修改

  • offset():获取对象的left和top坐标
  • offset({top:100,left:200}):将对象直接定位到指定的left和top坐标
  • width():获取对象的宽
    • width(300):设置对象的宽
  • height():获取对象的高
    • height(500):设置对象的高

标签内容和属性

  • val():获取value属性的值

    • val(“”):设置value属性值为”“空串,相当于清空
  • text():获取HTML或XML标签之间的值
    • text(“”):设置HTML或XML标签之间的值为”“空串
  • html():得到标签下HTML的值
  • attr(name,value):给符合条件的标签添加key-value属性对
  • removeAttr():删除已存在的属性

增删改标签

  • $("<div id='xxID'>HTML代码</div>"):创建元素,属性,文本
  • remove():删除自已及其后代节点
  • clone():只复制样式,不复制行为
  • clone(true):既复制样式,又复制行为
  • replaceWith():替代原来的节点

迭代

由于Jquery对象都是被看成是一个数组,each()方法就是专门用来操作数组的

  • each():是jQuery中专用于迭代数组的方法,参数为一个处理函数,this表示当前需要迭代的js对象

Jquery事件API

JavaScript一大特性就是事件驱动,当用户用了执行了某些动作以后,JavaScript就会响应事件,在事件的方法上,我们就可以对用户的动作“回馈”一些信息给用户!

Jquery也对JavaScript事件进行了封装,我们看一下以下的API:

  • window.onload:在浏览器加载web页面时触发,可以写多次onload事件,但后者覆盖前者
  • ready:在浏览器加载web页面时触发,可以写多次ready事件,不会后者覆盖前者,依次从上向下执行,我们常用$(函数)简化
    • ready和onload同时存在时,二者都会触发执行,ready快于onload
  • change:当内容改变时触发
  • focus:焦点获取
  • select:选中所有的文本值
  • keyup/keydown/keypress:演示在IE和Firefox中获取event对象的不同
  • mousemove:在指定区域中不断移动触发
  • mouseover:鼠标移入时触发
  • mouseout:鼠标移出时触发
  • submit:在提交表单时触发,true表示提交到后台,false表示不提交到后台
  • click:单击触发
  • dblclick:双击触发
  • blur:焦点失去

值得注意的是:当用户执行动作的时候,浏览器会自动创建事件对象,传递进去给响应事件的方法【类似与监听器的原理】,那么我们在响应方法上就可以获取一些属性:

Jquery第二篇【选择器、DOM相关API、事件API】的更多相关文章

  1. jQuery学习笔记之DOM操作、事件绑定(2)

    jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...

  2. 在js文件中通过jquery定位到某个dom时候设置事件时候 相当于直接在dom里面添加事件

    在js文件中通过jquery定位到某个dom时候设置事件时候 相当于直接在dom里面添加事件  当触发事件时候 会把当前的dom传给该方法

  3. jQuery 第二章 实例方法 DOM操作选择元素相关方法

    进一步选择元素相关方法:  .get() .eq() .find() .filter() .not() .is() .has() .add()集中操作  .end()回退操作 .get() $(&qu ...

  4. jQuery第二篇 (帅哥)

    1.1 jQuery操作DOM jQuery课程的目标:学会使用jQuery设计常见效果 选择器 基本选择器:#id ..class .element.* . 层级选择器: 空格.>.+.~ 基 ...

  5. js 第二篇 (DOM 操作)

    DOM 节点含有:元素节点,属性节点,文本节点. document.getElementById("id") //通过页面元素ID 值 捕获元素对象,得到的值为一个object 1 ...

  6. jquery学习:选择器&dom操作

    分类; 1.基本选择器 1.标签选择器(元素选择器) *  语法:$("html标签名”) 获得所有匹配标签名称的元素 2.id选择器 *  语法:$("#id的属性值" ...

  7. jQuery 第二章 实例方法 DOM操作取赋值相关方法

    取赋值相关方法:  .html() .text() .val() .size() .addClass() .removeClass() .hasClass() .html() html方法干嘛的呢,底 ...

  8. python、第二篇:库相关操作

    一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...

  9. jquery第二篇

    1  操作元素(属性,css,文档处理) --------------------------属性 $("").attr(); $("").removeAttr ...

随机推荐

  1. async简单使用

    node的异步io虽然好用,但是控制异步流程确实一个比较麻烦的事情,比如在爬虫中控制并发数量,避免并发过大导致网站宕机或被加入黑名单.因此需要一个工具来控制并发,这个工具可以自己写或者使用async( ...

  2. Attribute(特性)与AOP

    提到特性,好多人都会疑惑特性(attribute),和注释有什么区别,简单来说,特性是给机器看的,而注释是给人看的. 特性不仅可以影响编译还可以影响运行,而注释只是为了让人更加容易理解.看懂代码而特别 ...

  3. spring(四)之基于注解(Annotation-based)的配置.md

    注解 这里讲的注解有下面几个 @Autowired @Qualifier(" ") @Genre(" ") @Offline @Resource(name=&q ...

  4. python--注释

    python中单行注释用#,多行注释用""",看下面的代码: #!/usr/bin/python #coding:utf-8 #编码方式 #打印一行* print &qu ...

  5. The C++ Programming Language 学习笔记 第5章 指针、数组和结构

    1.关于输出指向字符的指针的值. 现在定义,char c='a',char* pc=&c.在C中,输出该值只需要printf("%p\n",pc);而在C++中,如果cou ...

  6. 中了J.Fla的毒!

    中了J.Fla的毒!中了J.Fla的毒!中了J.Fla的毒!中了J.Fla的毒!中了J.Fla的毒!中了J.Fla的毒!中了J.Fla的毒!中了J.Fla的毒!中了J.Fla的毒!中了J.Fla的毒! ...

  7. Mybatis --- 映射文件、参数处理、参数值的获取、select元素

    映射文件:指导着MyBatis如何进行数据库增删改查, 有着非常重要的意义:   - cache   命名空间的二级缓存配置 - cache-ref   其他命名空间缓存配置的引用. - result ...

  8. Spring Cloud Netflix多语言/非java语言支持之Spring Cloud Sidecar

    Spring Cloud Netflix多语言/非java语言支持之Spring Cloud Sidecar 前言 公司有一个调研要做,调研如何将Python语言提供的服务纳入到Spring Clou ...

  9. 比较两个date返回日期相差天数

    public static int daydiff(Date fDate, Date oDate) { Calendar aCalendar = Calendar.getInstance(); aCa ...

  10. HashMap 底层算法分析

    详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp72 Hash算法HashMap使用Hash算法,所以在解剖HashMap ...