JQuery 技巧和窍门整理(8个)


Posted in Javascript onApril 22, 2010

1. 新窗口打开链接
XHTML 1.0 Strict 版本不支持 target="_blank" 属性,而使用 JQuery 能很好地解决这个问题,实现新窗口打开网页:

$('a[@rel$='external']').click(function(){ 
this.target = "_blank"; 
}); /* 
Usage: 
<a href="http://www.mangguo.org/" rel="external">mangguo.org</a> 
*/

2. 获得匹配元素的总数
以下代码将返回匹配元素的数目:

$('element').size();

3. 预加载图像
当使用 Javascript 处理图像载入时,可以使用图像实现预加载:

jQuery.preloadImages = function() 
{ 
for(var i = 0; i").attr("src", arguments[i]); 
} 
}; // Usage 
$.preloadImages("image1.gif", "/path/to/image2.png", "some/image3.jpg");

4. 检测浏览器
根据不同浏览器加载不同 CSS 能防止因浏览器差异造成的样式表渲染差异,使用 JQuery 可以轻松实现:
//A. Target Safari 
if( $.browser.safari ) $("#menu li a").css("padding", "1em 1.2em" ); //B. Target anything above IE6 
if ($.browser.msie && $.browser.version > 6 ) $("#menu li a").css("padding", "1em 1.8em" ); 
//C. Target IE6 and below 
if ($.browser.msie && $.browser.version <= 6 ) $("#menu li a").css("padding", "1em 1.8em" ); 
//D. Target Firefox 2 and above 
if ($.browser.mozilla && $.browser.version >= "1.8" ) $("#menu li a").css("padding", "1em 1.8em" );

5. 字符串替换
用 JQuery 能对文本内容中的特定字符串进行替换操作:
var el = $('#id'); 
el.html(el.html().replace(/word/ig, ""));

6. 列高度相等
用 CSS 实现两列高度相等并不容易,JQuery 能帮你解决:
function equalHeight(group) { 
tallest = 0; 
group.each(function() { 
thisHeight = $(this).height(); 
if(thisHeight > tallest) { 
tallest = thisHeight; 
} 
}); 
group.height(tallest); 
} /* 
Usage: 
$(document).ready(function() { 
equalHeight($(".recent-article")); 
equalHeight($(".footer-col")); 
}); 
*/

7. 字体大小重设
字体大小重设是一个非常常用的功能:
$(document).ready(function(){ 
// Reset Font Size 
var originalFontSize = $('html').css('font-size'); 
$(".resetFont").click(function(){ 
$('html').css('font-size', originalFontSize); 
}); 
// Increase Font Size 
$(".increaseFont").click(function(){ 
var currentFontSize = $('html').css('font-size'); 
var currentFontSizeNum = parseFloat(currentFontSize, 10); 
var newFontSize = currentFontSizeNum*1.2; 
$('html').css('font-size', newFontSize); 
return false; 
}); 
// Decrease Font Size 
$(".decreaseFont").click(function(){ 
var currentFontSize = $('html').css('font-size'); 
var currentFontSizeNum = parseFloat(currentFontSize, 10); 
var newFontSize = currentFontSizeNum*0.8; 
$('html').css('font-size', newFontSize); 
return false; 
}); 
});

8. 禁用右键菜单
有许多 JavaScript 代码段可禁用右键菜单,但 JQuery 使操作变得更容易:
$(document).ready(function(){ 
$(document).bind("contextmenu",function(e){ 
return false; 
}); 
});
Javascript 相关文章推荐
input、button的不同type值在ajax提交表单时导致的陷阱
Feb 24 Javascript
js实现杯子倒水问题自动求解程序
Mar 25 Javascript
JS控制日期显示的小例子
Nov 23 Javascript
jquery $.trim()方法使用介绍
May 21 Javascript
jquery.multiselect多选下拉框实现代码
Nov 11 Javascript
js制作可以延时消失的菜单
Jan 13 Javascript
在Vue中使用axios请求拦截的实现方法
Oct 25 Javascript
微信小程序实现页面分享onShareAppMessage
Aug 12 Javascript
vue 验证两次输入的密码是否一致的方法示例
Sep 29 Javascript
如何将JavaScript将数组转为树形结构
Jun 02 Javascript
JavaScript利用html5新方法操作元素类名详解
Nov 27 Javascript
Rust中的Struct使用示例详解
Aug 14 Javascript
超级酷和最实用的jQuery实例收集(20个)
Apr 21 #Javascript
基于jquery的超简单上下翻
Apr 20 #Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
Apr 20 #Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
Apr 20 #Javascript
制作高质量的JQuery Plugin 插件的方法
Apr 20 #Javascript
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
Apr 20 #Javascript
jquery+json 通用三级联动下拉列表
Apr 19 #Javascript
You might like
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
2015/01/20 PHP
php基于session锁防止阻塞请求的方法分析
2017/08/07 PHP
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
javascript多行字符串的简单实现方式
2015/05/04 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
JavaScript函数的调用以及参数传递
2015/10/21 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
js中new一个对象的过程
2017/02/20 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
JavaScript 函数的定义-调用、注意事项
2017/04/16 Javascript
js中document.write和document.writeln的区别
2018/03/11 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
微信小程序控制台提示warning:Now you can provide attr &quot;wx:key&quot; for a &quot;wx:for&quot; to improve performance解决方法
2019/02/21 Javascript
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
无法使用pip命令安装python第三方库的原因及解决方法
2018/06/12 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
python如何控制进程或者线程的个数
2020/10/16 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
linux面试题参考答案(8)
2016/04/19 面试题
师范毕业生自荐信
2013/10/17 职场文书
怎样写留学自荐信
2013/11/11 职场文书
2013年研究生毕业感言
2014/02/06 职场文书
酒店开业庆典策划方案
2014/05/28 职场文书
详解Redis基本命令与使用场景
2021/06/01 Redis
Python 键盘事件详解
2021/11/11 Python
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS