• 使用jQuery获取与创建元素,不返回这些元素,而是返回操作这些元素的对象
  • 常用简写 window.$ = window.jQuery

创建元素

  1. $('<div><span> Hi </span></div') // 创建元素
  2. .appendTo(document.body); // 插入 body 中

获取元素

  1. //使用 window.jQuery(选择器) 获取对应的元素
  2. $(document); // 获取整个文档对象
  3. $('#XXX'); // 获取 id 为 XXX 的网页元素
  4. $('div.myClass'); // 获取class为myClass的div元素
  5. // 通过jQuery特有表达式获取元素
  6. $('a.first'); // 获取网页中第一个a元素
  7. $('tr:odd'); // 获取表格的奇数行
  8. $('#myForm :input'); // 获取表单中的input元素
  9. $('div:visible'); // 获取可见的div元素
  10. $('div:gt(2)'); // 获取所有的div元素,除了前三个
  11. $('div:animated'); // 获取当前处于动画状态的div元素
  12. // 使用过滤器对结果进行筛选
  13. $('div').has('p'); // 选择包含p元素的div元素
  14. $('div').not('.myClass'); //选择class不等于myClass的div元素
  15. $('div').filter('.myClass'); //选择class等于myClass的div元素
  16. $('div').first(); //选择第1个div元素
  17. $('div').eq(5); //选择第6个div元素
  18. // 移动获取DOM树上的元素
  19. $('div').next(); // 获取下一个元素
  20. $('div').next('p'); //获取div元素后面的第一个p元素
  21. $('div').parent(); //获取父元素
  22. $('div').children(); // 获取所有子元素
  23. $('div').siblings(); // 获取同级元素
  24. $('div').closest('form'); // 获取离div最近的那个form父元素
  25. $('.red').each(fn); // 遍历每个元素

删除元素

  1. $('div').remove() // 删除元素,不保留被删除元素
  2. $('div').drtach() // 删除元素,保留被删除元素
  3. $('div').empty() // 清空元素内容

取值和赋值

jQuery 使用同一个函数,来完成取值(getter)和赋值(setter)

如果结果集包含多个元素,那么赋值的时候,将对其中所有的元素赋值;取值的时候,则是只取出第一个元素的值(.text()例外,它取出所有元素的text内容)

  • $div.html() :读写html内容
  • $div.text():读写text内容
  • $div.attr(‘title’, ?) :读写属性
  • $div.css({color: ‘red’}):读写style
  • $div.width():读写某个元素的宽度
  • $div.height():读写某个元素的高度
  • $div.val() :取出某个表单元素的值
  1. $('h1').html(); // 取出h1的值
  2. $('h1').html('Hello'); // 对h1进行赋值

链式操作

因为 jQuery 操作返回的是一个 jQuery 对象。所以可以将不同操作连在一起

  1. $('div').find('h3').eq(2).html('Hello'); // 将 div 元素下的第三个 h3 的内容改为 Hello

jQuery 提供 .end() 方法使得结果集后退一步

  1. $('div')
  2. .find('h3')
  3. .eq(2)
  4. .html('Hello')
  5. .end() // 退回到选中所有的h3元素的那一步
  6. .eq(0) // 选中第一个h3元素
  7. .html('World'); // 将它的内容改为World

移动元素

  • $(‘div’).insertAfter(), $(‘div’).after():在现存元素的外部,从后面插入元素
  • $(‘div’).insertBefore(), $(‘div’).before():在现存元素的外部,从前面插入元素
  • $(‘div’).appendTo(), $(‘div’).append():在现存元素的内部,从后面插入元素
  • $(‘div’).prependTo(), $(‘div’).prepend():在现存元素的内部,从前面插入元素
  1. // 将 div元素 移动到 p元素后
  2. $('div').insertAfter($('p')); // 方法返回div元素
  3. $('p').after($('div')); // 方法返回p元素

事件

jQuery 把事件直接绑定在网页元素上

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

使用 .bind() 为多个事件绑定同一个函数

  1. $('input').bind(
  2. 'click change', // 同时绑定click和change事件
  3. function() {
  4. alert('Hello');
  5. }
  6. );

使用 .unbind() 解绑事件

  1. $('p').unbind('click');

接收事件对象

  1. $("p").click(function(e) {
  2. alert(e.type); // "click"
  3. });
  4. // 事件对象的属性与方法
  5. event.pageX // 事件发生时,鼠标距离网页左上角的水平距离
  6. event.pageY // 事件发生时,鼠标距离网页左上角的垂直距离
  7. event.type // 事件的类型(比如click)
  8. event.which // 按下了哪一个键

参考 jQuery设计思想