使用方式

选择器

$(selector),例如:

  1. $('div');
  2. $('.big-div');
  3. $('div > p');

selector类似于CSS选择器。

事件

$(selector).on(event, func)绑定事件,例如:

  1. $('div').on('click', function (e) {
  2. console.log("click div");
  3. })

$(selector).off(event, func)删除事件,例如:

  1. $('div').on('click', function (e) {
  2. console.log("click div");
  3. $('div').off('click');
  4. });

当存在多个相同类型的事件触发函数时,可以通过click.name来区分,例如:

  1. $('div').on('click.first', function (e) {
  2. console.log("click div");
  3. $('div').off('click.first');
  4. });

在事件触发的函数中的return false等价于同时执行:
e.stopPropagation():阻止事件向上传递
e.preventDefault():阻止事件的默认行为

元素的隐藏、展现

$A.hide():隐藏,可以添加参数,表示消失时间
$A.show():展现,可以添加参数,表示出现时间
$A.fadeOut():慢慢消失,可以添加参数,表示消失时间
$A.fadeIn():慢慢出现,可以添加参数,表示出现时间

元素的添加、删除

$('<div class="mydiv"><span>Hello World</span></div>'):构造一个jQuery对象
$A.append($B):将$B添加到$A的末尾
$A.prepend($B):将$B添加到$A的开头
$A.remove():删除元素$A及其所有儿子
$A.empty():清空元素$A的所有儿子,不包括$A

  1. let $div = $('#mydiv');
  2. let $a = $(
  3. `<a href="https://www.acwing.com/user/myspace/index/79054/" target="_blank">
  4. Home Page
  5. </a>`);
  6. $div.click(() => {
  7. console.log("div click");
  8. $div.append($a);
  9. });
  10. $div.dblclick(() => {
  11. console.log("div double click");
  12. $a.remove();
  13. })

对类的操作

$A.addClass(class_name):添加某个类
$A.removeClass(class_name):删除某个类
$A.hasClass(class_name):判断某个类是否存在

  1. let $div = $('#mydiv');
  2. $div.click(() => {
  3. console.log("div click");
  4. $div.addClass("my-div");
  5. });
  6. $div.dblclick(() => {
  7. console.log("div double click");
  8. $div.removeClass("my-div");
  9. })

对CSS的操作

$("div").css("background-color"):获取某个CSS的属性
$("div").css("background-color","yellow"):设置某个CSS的属性
同时设置多个CSS的属性:

  1. $('div').css({
  2. width: "200px",
  3. height: "200px",
  4. "background-color": "orange",
  5. });

对标签属性的操作

$('div').attr('id'):获取属性
$('div').attr('id', 'ID'):设置属性

  1. let $a = $('#mydiv > a');
  2. console.log($a.attr("target"));
  3. $a.attr("target", "");
  4. console.log($a.attr("target"));

对HTML内容、文本的操作

不需要背每个标签该用哪种,用到的时候Google或者百度即可。
$A.html():获取、修改HTML内容-> HTML页面的定义
$A.text():获取、修改文本信息 -> 标签内的文本信息
$A.val():获取、修改文本的值 -> 可输入内容

  1. $div.click(() => {
  2. $div.text("Hello, World!");
  3. })
  4. $div.click(() => {
  5. console.log($("input").val());
  6. })

查找

$(selector).parent(filter):查找满足filter的父元素,参数可为空
$(selector).parents(filter):查找满足filter的所有祖先元素,参数可为空
$(selector).children(filter):查找满足filter的所有子元素,参数可为空
$(selector).find(filter):在所有后代元素中查找,参数不能为空

ajax

最常用的功能:在不刷新页面的情况下,更新页面
GET方法:

  1. $.ajax({
  2. url: url,
  3. type: "GET",
  4. data: {
  5. },
  6. dataType: "json",
  7. success: function (resp) {
  8. },
  9. });

POST方法:

  1. $.ajax({
  2. url: url,
  3. type: "POST",
  4. data: {
  5. },
  6. dataType: "json",
  7. success: function (resp) {
  8. },
  9. });