欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jQuery入门

程序员文章站 2022-07-14 22:55:07
...

饥人谷_李栋


读了阮一峰的教程之后,作为一个新人,为了方便加深记忆,做了下简化,方便使用

jQuery可以实现以下功能

  1. 选择
  2. 筛选
  3. 连续的操作
  4. 元素的操作(取值、赋值)
  5. 元素的操作(移动)
  6. 元素的操作(copy、删、建)
  7. 自身方法
  8. 绑定Event
  9. 动画效果

一、选择网页元素

  • 可以是选择器
$(document) //选择整个文档对象  
$('#myId') //选择ID为myId的网页元素  
$('div.myClass')   
$('input[name=first]') 
  • 可以是jQuery自己的
$('a:first')   
$('tr:odd') //选择表格的奇数行  
$('#myForm :input') // 选择表单中的input元素  
$('div:visible')  
$('div:gt(2)') // 选择所有的div元素,除了前三个  
$('div:animated') // 选择当前处于动画状态的div元素

//可以选择几个 $('div,.test')


二、筛选

  • 用各种过滤器来筛选:
$('div').has('p');
$('div').not('.myClass');
$('div').filter('.myClass');//filter:过滤
$('div').first(); //第1个
$('div').eq(5); //第6个
  • 移动到附近的相关元素:
$('div').next('p'); //选择div元素后面的第一个p元素
$('div').parent(); //父元素
$('div').closest('form'); //选择离div最近的那个form父元素
$('div').children(); //所有子元素
$('div').siblings(); //同级元素

三、连续操作

选中之后,可以对它作一系列操作:

$('div').find('h3').eq(2).text('Hello');

上面的代码可以分开来写的,另外还有倒退功能.end()//后退一步


四、取值、赋值

使用同一函数来取值、赋值:没参数就是取值,有参数就是赋值
常见的方法:

.html()//html内容
.text()//text内容
.attr()//属性值
.width()
.height()
.val()//某个表单元素的值

值得注意的是,取值时,除了text,其他的如果是多个元素则全部取值,赋值则亦同


五、移动

两个思路:移动自身、移动别人

.insertAfter()和.after()//在现存元素的外部,从后面插入元素
.insertBefore()和.before()//在现存元素的外部,从前面插入元素
.appendTo()和.append()//在现存元素的内部,从后面插入元素
.prependTo()和.prepend()//在现存元素的内部,从前面插入元素

六、copy、删、建

.clone()
.remove()//不保留删除事件
.detach()//保留删除事件
.empty()

七、自身的方法

jQuery构造函数上的方法,可以直接使用

$.trim()//去除字符串两端的空格
$.each()//遍历一个数组或对象
$.inArray()
$.grep()//返回数组中符合某种标准的元素
$.extend()//将多个对象,合并到第一个对象
$.makeArray()//将对象转化为数组
$.type()
$.isArray()
$.isEmptyObject()
$.isFunction()
$.isPlainObject()
//判断某个参数是否为用"{}"或"new Object"建立的对象。
//plain:清楚的、明白的
$.support()

八、绑定事件

直接把事件绑定到选中的元素上

$('p').click(function(){
    alert('Hello');
  });

事件有:

.blur()//表单元素失去焦点
.change()//表单元素的值发生变化
.click() .dousedown() .mouseout()
.dblclick() 
.focus() 和.focusin()和.focusout()//子元素获得、失去焦点
.hover() .mouseenter() .mouseleave()
.keydown() .keyup()
.keypress()//按下键盘(长时间按键,将返回多个事件)
.load() .unload()
.mousemove()
.mouseover()
.ready()
.resize() .scroll()
.select() .submit()  
.toggle(f(),f())//根据鼠标点击的次数,依次运行多个函数,
超过次数,则重复提交
  • 多个事件绑定一个函数:用到了.bind()//以上事件都是它的快捷方式
    解绑:.unbind()
$('input').bind(
    'click change', //同时绑定click和change事件
    function() {
      alert('Hello');
    }
  );
  • 事件只运行一次 :$.('p').one(事件,Eventhandle)

  • 一些属性方法

.pageX .pageY
.type
.which//按下了哪个键
.date//绑定数据
.target
.preventDefault()
.stopProgagation()//就是那个'p' ^_^,用来停止向上层元素冒泡

九、动画效果

.fadeIn() .fadeOut() .fadeTo()//淡入、淡出、透明度
.hide()
.show()
.slideUp() .slideDown() .slideToggle()//依次展开或卷起某元素
.toggle()//依次展开或隐藏
复杂的用.animate()
$.fx.off()//关闭特效

原文出自阮一峰的jQuery设计思想,本文版权属”李栋(饥人谷)“所有