jQuery常用知识点总结以及平时封装常用函数

jQuery常用知识点总结

为什么需要jQuery

JavaScript 语言是用来制作交互式网页效果的,但是在使用原生JS来处理DOM对象时会出现很多繁琐的操作,并且不兼容性很高。jQuery的出现正是为了解决这些问题,在JS基础上封装了一套API,使得开发者处理DOM元素、事件、Ajax等的代码更加简洁高效,并且兼容性也很好。

jQuery基础知识点

1. jQuery的引入

jQuery可以通过CDN引入,也可以下载后引入:

<!-- 通过CDN的引入 -->
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

<!-- 或者下载后引入,如下: -->
<script src="/path/to/jquery.min.js"></script>

2. 等待DOM加载完毕

为了确保代码能够正确运行,我们需要在DOM结构构建完毕后才开始执行代码。这一般通过 jQuery.ready()$(document).ready() 来实现。

$(document).ready(function () {
  // 在DOM结构构建完成后执行的代码
});

3. jQuery选择器

jQuery的选择器可以很方便地基于CSS选择器来查找元素。这里列出了一些常见的选择器:

选择器 说明
#id 通过id查找元素
.class 通过class查找元素
tag 通过标签名查找元素
* 匹配所有元素
:eq() 选取带有指定 index 值的元素
// 选取ID为wrapper的元素
$('#wrapper')

// 选取class为list的元素
$('.list')

// 选取所有的a标签
$('a')

// 选取第2个li标签
$('li:eq(1)')

4. DOM操作

通过jQuery可以方便地操作DOM元素,下面是一些常用的DOM操作方法:

  • text():获取或设置元素的文本内容。
  • html():获取或设置元素的HTML内容。
  • val():获取或设置表单元素的值。
  • attr():获取或设置元素的属性。
  • css():获取或设置元素的样式属性。
  • addClass():为元素添加一个CSS类。
  • removeClass():移除元素的一个CSS类。
// 设置h1元素的文本内容
$('h1').text('Hello jQuery!')

// 添加一个class到div元素上
$('div').addClass('my-class')

// 获取一个input元素的值
$('input').val()

// 获取或设置img元素的src属性
$('img').attr('src', '/path/to/image.jpg')

// 移除一个p元素的CSS类
$('p').removeClass('active')

5. 事件处理

jQuery支持各种DOM事件,包括鼠标事件、键盘事件、表单事件等,事件的处理函数可以通过 on() 方法来定义:

// 执行一段代码以响应点击事件
$('button').on('click', function () {
  // 处理点击事件的代码
});

// 响应键盘事件
$(document).on('keyup', function () {
  // 处理键盘事件的代码
});

6. Ajax请求

jQuery封装了Ajax请求,可以很方便地向服务器端发送HTTP请求并处理响应。下面是一个简单的例子,发起一个GET请求并在响应成功后处理响应数据:

$.get('/api/some-data', function (data) {
  // 处理响应数据的代码
});

平时封装常用函数

下面是两个简单的例子,封装了一些常用的功能函数:

1. 分页

function pagination(total, current, pageSize) {
  let pageCount = Math.ceil(total / pageSize);
  let prev = current - 1;
  let next = current + 1;
  let pages = [];

  if (prev > 0) {
    pages.push(prev > pageCount ? pageCount : prev);
  }

  for (let i = 1; i <= pageCount; i++) {
    if (Math.abs(i - current) <= 2) {
      pages.push(i);
    }
  }

  if (next <= pageCount) {
    pages.push(next);
  }

  return pages;
}

2. 模态框

function modal(options) {
  let template = `
    <div class="modal fade" id="${options.id}">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <h5 class="modal-title" id="${options.id}-title">${options.title}</h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            ${options.content}
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
            <button type="button" class="btn btn-primary">${options.confirmText}</button>
          </div>
        </div>
      </div>
    </div>
  `;

  $('body').append(template);

  $(`#${options.id}`).modal('show');

  $(`#${options.id} .btn-primary`).on('click', function () {
    if (typeof options.onConfirm === 'function') {
      options.onConfirm();
    }
    $(`#${options.id}`).modal('hide');
  });

  $(`#${options.id}`).on('hidden.bs.modal', function () {
    $(this).remove();
  });
}

上面这两个例子只是其中的一些常见的功能函数,实际上在开发中可以根据需求封装更加灵活的函数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery常用知识点总结以及平时封装常用函数 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • jQWidgets jqxNavigationBar主题属性

    以下是关于 jQWidgets jqxNavigationBar 组件中 theme 属性的详细攻略。 jQWidgets jqxNavigationBar theme 属性 jQWidgets jqxNavigationBar 的 theme 属性用于设置导航栏组件的主题。 语法 // 设置导航栏组件的主题 $(‘#navigationBar’).jqxN…

    jquery 2023年5月12日
    00
  • jQuery中nextAll()方法用法实例

    jQuery中nextAll()方法用法实例 nextAll()方法简介 nextAll()方法用于获取当前元素之后的所有兄弟元素,包括所有后代元素,返回一个由这些元素构成的jQuery对象。 nextAll()方法的语法 下面是nextAll()方法的语法: $(selector).nextAll(filter); 参数filter是可选的,用于过滤选择器…

    jquery 2023年5月28日
    00
  • jQWidgets jqxLayout contextMenu属性

    jQWidgets jqxLayout contextMenu属性攻略 简介 jQWidgets 是一个基于 jQuery 的 UI 组件库,提供了丰富的 UI 组件和工具,可于创建现代化应程序。 jqxLayout 布局组件用于创建灵活的布局,可用于构建复杂的用户界面。本攻略将详介绍 jqxLayout 的 contextMenu 属性,包括 contex…

    jquery 2023年5月10日
    00
  • jQWidgets jqxGrid groupsheaderheight属性

    以下是关于“jQWidgets jqxGrid groupsheaderheight属性”的完整攻略,包含两个示例说明: 属性简介 jqxGrid 控件的 headerheight 属性用于设置分组行的高度。该属性的值为数字,表示分组行的高度。属性的语法如下: $("#jqxGrid").jqx({ groupsheaderheight:…

    jquery 2023年5月10日
    00
  • JavaScript 使用Ckeditor+Ckfinder文件上传案例详解

    下面是关于 JavaScript 使用 Ckeditor+Ckfinder 文件上传的完整攻略。 什么是Ckeditor和Ckfinder? 首先,我们需要了解一下 Ckeditor 和 Ckfinder。Ckeditor 是一款著名的富文本编辑器,支持多语言、自定义皮肤、插件扩展等功能。Ckfinder 是 Ckeditor 的配套文件管理系统,可以方便地…

    jquery 2023年5月27日
    00
  • 广泛收集的jQuery拖放插件集合

    广泛收集的jQuery拖放插件集合攻略 本文将为大家介绍如何使用广泛收集的jQuery拖放插件集合来实现网页中的拖放效果。 1. 什么是jQuery拖放插件集合? jQuery拖放插件集合是由众多开发者和爱好者共同收集整理的一系列jQuery插件,这些插件可以帮助开发者快速实现网页中的拖放效果。这些插件包含了各种不同类型的拖放效果,比如拖拽排序、拖拽放置等。…

    jquery 2023年5月27日
    00
  • jQuery学习总结之元素的相对定位和选择器(持续更新)

    下面是关于“jQuery学习总结之元素的相对定位和选择器(持续更新)”的完整攻略。 总览 这篇博客主要讲述了jQuery中元素的相对定位和选择器的基本知识,从而帮助读者更好地理解jQuery的使用方法。因此,本篇博客的重点是介绍jQuery中元素的相对定位和选择器的基本用法,为读者提供一些实际的例子和练习题。 元素的相对定位 元素的相对定位是指在文档中相对于…

    jquery 2023年5月28日
    00
  • Jquery倒计时源码分享

    下面我将详细讲解“Jquery倒计时源码分享”的完整攻略。 一、 Jquery倒计时源码分享 Jquery是一款常用于Web前端开发的JavaScript库,它可以大大简化JavaScript的开发过程,让开发者能够更快、更简单地完成各种功能的实现。本文将介绍一种基于Jquery库的倒计时功能实现方法,适用于各种Web前端开发场景。 二、 实现方法 1. 引…

    jquery 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部