所有前端都必须知道的 jQuery 技巧

前端是一个很繁杂的工作,在工作中会考虑到很多细节,也许有时候一个细节没有处理好,就会造成很大的麻烦。但是一些小技巧就能够避免。作为一个新手,即使掌握一个小技巧都能够节省很多时间。以下几个 jQuery 技巧,也许你工作中能够用上。

 

1. 检查图像是否加载
有时为了继续脚本,你可能需要检查图像是否全部加载完毕:

$('img').load(function () {
  console.log('image load successful');
}); 

你也可以用 ID 或类替换 标签来检查某个特定的图像是否被加载。

2. 自动修复破坏的图像
逐个替换已经破坏的图像链接是非常痛苦的。不过,下面这段简单的代码可以帮助你:

$('img').on('error', function () {
  if(!$(this).hasClass('broken-image')) {
    $(this).prop('src', 'img/broken.png').addClass('broken-image');
  }
}); 

 即使没有任何断掉的链接,加上这一段代码也不会让你有任何损失

3. 悬停切换类
假设你希望当用户将鼠标悬停在可点击的元素上时,它会改变颜色。那么你可以在用户悬停的时候添加类到元素中,反之则删除类:

$('.btn').hover(function () {
  $(this).addClass('hover');
}, function () {
  $(this).removeClass('hover');
});
  你只需要添加必要的CSS即可。更简单的方法是使用toggleClass 方法:
$('.btn').hover(function () {
  $(this).toggleClass('hover');
}); 

 

4. 禁用输入字段

      有时候,你可能想要禁用表格的提交按钮或它的某一项文字输入直到用户执行了特定操作(例如,勾选 “我已阅读相关条款” 复选框)。添加 disabled 属性到你的输入就可以在你想要的时候才启用它:

$('input[type="submit"]').prop('disabled', true); 

然后你只需要运行输入的 prop 方法就可以了,不过 disabled 的值要设置为 false:

$('input[type="submit"]').prop('disabled', false); 

 

5. 淡入 / 滑动切换
滑动和淡入都是我们用 jQuery 做动画的时候大量运用的东西。如果你只是想在用户点击之后展示一个元素的话,那么用 fadeIn 和 slideDown 方法就很完美。但是,如果你想要元素在第一次点击的时候出现,然后在第二次点击的时候消失的话,那么可以试试下面的代码:

// Fade
$('.btn').click(function () {
  $('.element').fadeToggle('slow');
}); 

// Toggle
$('.btn').click(function () {
  $('.element').slideToggle('slow');
});

 

6. 让两个 div 高度相同  有时候,你需要让两个 div 无论包含什么内容都拥有相同的高度:

$('.div').css('min-height', $('.main-div').height()); 

设置 min-height,这意味着它可以比主 div 大但绝对不能比主 div 小。不过,还有一种更灵活的方法是遍历一组元素,然后将高度设置为最高的那个元素的高度:

var $columns = $('.column');
var height = 0;
$columns.each(function () {
  if ($(this).height() > height) {
    height = $(this).height();
  }
});
$columns.height(height); 

 

7. 在新标签页 / 窗口打开外部链接
在一个新的浏览器 tab 或窗口中打开外部链接,并确保同一个来源的链接能在同一个 tab 或者窗口中打开:

$('a[href^="http"]').attr('target', '_blank');
$('a[href^="//"]').attr('target', '_blank');
$('a[href^="' + window.location.origin + '"]').attr('target', '_self');

注意:window.location.origin 在 IE10 中无效。修复的时候要小心这个问题。

 

8. 通过文本查找元素
通过使用 jQuery 中的 contains() 选择器,你可以找到元素内容的文本。如果文本不存在,那就隐藏该元素:

var search = $('#search').val();
$('div:not(:contains("' + search + '"))').hide(); 

 

9. 预加载图像
如果你的网页要使用大量开始不可见的(例如,悬停的)图像,那么可以预加载这些图像:

$.preloadImages = function () {
  for (var i = 0; i < arguments.length; i++) {
    $('<img>').attr('src', arguments[i]);
  }
}; 

$.preloadImages('img/hover-on.png', 'img/hover-off.png'); 

 

10.AJAX 调用错误处理
当 Ajax 调用返回 404 或 500 错误时,就执行错误处理程序。如果没有定义处理程序,其他的 jQuery 代码或会就此罢工。定义一个全局的 Ajax 错误处理程序:

$(document).ajaxError(function (e, xhr, settings, error) {
  console.log(error);
});

 

时间: 2024-10-27 16:43:58

所有前端都必须知道的 jQuery 技巧的相关文章

WEB前端开发都应知道的jquery小技巧及jquery三个简写_jquery

一个简单技巧的集合,帮你提升 jQuery 技能.目前小编给大家整理了14个jquery小技巧. 目录结构 1回到顶部按钮 2预加载图片 3检查图片是否加载完毕 4自动修复损坏的图片 5Hover 上的 Class 开关 6禁用 input 字段 7停止链接加载 8淡入淡出/滑动开关 9简单的折叠效果 10将两个 Div 设为相同高度 11在新窗口打开外部链接 12找到文本元素 13切换可视与隐藏的触发器 下面给大家介绍每个小技巧的具体含义. 1.回到顶部按钮 通过使用 jQuery 中的 an

(译)你应该知道的jQuery技巧

帮助提高你jQuery应用的简单小技巧. 回到顶部按钮 图片预加载 判断图片是否加载完 自动修补破损图像 Hover切换class类 禁用输入 停止正在加载的链接 toggle fade/slide 简单的手风琴 使两个DIV同等高度 在浏览器标签/新窗口打开外部链接 根据文本获取元素 可见变化的触发 Ajax调用错误处理 链式操作 回到顶部按钮 利用jQuery里的animate和scrollTop方法,你便不需要使用插件创建简单的滚动到顶部动画. // Back to top $('.top

程序员都应该知道的130个vim命令

 从1970年开始,vi和vim 就成为了程序员最喜爱的文本编辑器之一.5年前,我写了一个问自己名为"每个程序员都应该知道的100个vim 命令" 这次算是之前那篇文章的改进版,希望你会喜欢. 基础 :e filename Openfilenamefor edition :w Save file :q Exit Vim :q! Quit without saving :x Write file (if changes has been made) and exit :sav filen

每个 Ubuntu 用户都应该知道的 Ubuntu 16.04 LTS 的十大新功能

每个 Ubuntu 用户都应该知道的 Ubuntu 16.04 LTS 的十大新功能 开发了六个月后,Canonical在2016年4月21日正式发布了新的Ubuntu 16.04 LTS.现在它可供下载,安装到PC.笔记本和上网本上. Ubuntu的这个版本是作为"长期支持"版(LTS)发布的,将在5年的时间内得到更新和安全补丁:在此期间,会发布多个单点版本(Ubuntu 16.04.1.Ubuntu 16.04.2和Ubuntu 16.04.3).它还随带数量众多的变化,以及几项新

【第二届PHP全球开发者大会】MySQL中文网站创始人叶金荣:程序猿都该知道的MySQL秘籍

5月14-15日的第二届2016PHP全球开发者大会在北京国际会议中心举行.MySQL中文网站创始人.Oracle MySQL ACE叶金荣带来的分享是<程序猿都该知道的MySQL秘籍>,他主要介绍了MySQL的优化秘籍,并对InnoDB引擎做了深入的讲解:同时与大家分享了在MySQL的优化过程中所采的"坑":分享最后,向大家展示了5.7版本中重大变化. 演讲内容结构: MySQL优化秘籍 InnoDB的正确玩法 一些优化参考 硬件.系统.配置选项优化 MySQL参数优化

jQuery开发者都需要知道的5个小技巧_jquery

1.禁用右键菜单 复制代码 代码如下: $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; }); }); 2.让字体闪烁 复制代码 代码如下: jQuery.fn.flash = function( color, duration ) { var current = this.css( 'color' ); this.animate( { color: 'rgb

一些老手都不一定知道的JavaScript技巧_javascript技巧

一些不太常用但强大的JavaScript小技巧,新手和老手js开发人员都不一定知道. 1.截断数组与数组长度 复制代码 代码如下: var arr1 = arr2 = [1, 2, 3]; //改变 arr1arr1 = []; // arr2则任然是 [1,2,3] 你会发现arr1用[]方法来清空不会影响arr2的值,假如要想让arr1改变后arr2跟着一起改变 ,则可以这样 复制代码 代码如下:  var arr1 = arr2 = [1, 2, 3];arr1.length=0; //注

每位网页设计师新手都应知道的10件事

在做网站时会遇到很多的问题,所以网页设计师通常要扮演多种角色,并且要掌握如何构建一个有效实用的网站布局知识. 你在网页设计所学到的大多数教训都来自工作经验.学习是一个反复持续的过程,并且没有比犯错更好的方式来获得知识(从错误中学习).在本文中,我们将讨论10个重要并常规的技巧,这是每位网页设计师新手都应该知道. 1. 优化图片,获得更好的页面加载速度 学习如何通过选择正确的格式,来优化网页图片,并确保文件大小在可行的范围你是足够小的.虽然现在人们已经都在使用宽带,但仍然有人是拨号上网.此外, 虽

应该知道的Linux技巧

作者:陈皓(花名:钻风)   这篇文章来源于Quroa的一个问答<What are some time-saving tips that every Linux user should know?>-- Linux用户有哪些应该知道的提高效率的技巧.我觉得挺好的,总结得比较好,把其转过来,并加了一些自己的理解. 首先,我想告诉大家,在Unix/Linux下,最有效率技巧的不是操作图形界面,而是命令行操作,因为命令行意味着自动化.如果你看过<你可能不知道的Shell>以及<28