jquery实用代码片段集合


Posted in Javascript onAugust 12, 2010

加载google的jquery库

<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</script>

有利于加快加载速度(已经得到验证)。

修改图片src更新图片

$(imageobj).attr('src', $(imageobj).attr('src') + '?' + Math.random() );

这是很实用的技巧,曾经有人问明河,为什么他已经修改了图片的src,但图片没变化呢?原因在于缓存,给图片路径后加个随机数参数即可。

加载多张图片,判断加载完成状态

var totalimages = 10;
var loadedimages = 0;
$("<img/>").load(function() {
++loadedimages;
if(loadedimages == totalimages){
//全部图片加载完成时…..
 }
 });

双击不选中文本

var clearSelection = function () {
if(document.selection && document.selection.empty) {
 document.selection.empty();
 } else if(window.getSelection) {
var sel = window.getSelection();
 sel.removeAllRanges();
 }
 }

 $(element).bind('dblclick',function(event){
 clearSelection();
 });

对一个列表进行排序

<ul>
<li>cloud</li>
 <li>sun</li>
 <li>rain</li>
 <li>snow</li>
 </ul

var items = $('.to_order li').get();

 items.sort(function(a,b){
var keyA = $(a).text();
var keyB = $(b).text();
if (keyA < keyB) return -1;
if (keyA > keyB) return 1;
return 0;
 });
var ul = $('.to_order');
 $.each(items, function(i, li){
 ul.append(li);
 });

(中文无效)
绑定右击事件

$(document).ready(function(){
 $(document).bind("contextmenu",function(e){
return false;
 });
 });

 扩展jquery的对象选择器

$.extend($.expr[':'], {
//选择器名
 moreThanAThousand : function (a){
return parseInt($(a).html()) > 1000;
 }
 });
 $(document).ready(function() {
 $('td:moreThanAThousand').css('background-color', '#ff0000′);
 });

 检查对象是否存在

if ($("#elementid").length) {
//……
}

取消一个ajax请求

var req = $.ajax({
type: "POST",
url: "someurl",
data: "id=1″,
success: function(){

}
});
//取消ajax请求
req.abort()

检查cookies是否可用

$(document).ready(function() {
var dt = new Date();
dt.setSeconds(dt.getSeconds() + 60);
document.cookie = "cookietest=1; expires=" + dt.toGMTString();
var cookiesEnabled = document.cookie.indexOf("cookietest=") != -1;
if(!cookiesEnabled){
//cookies不能用……..
}
});

获取当前元素在元素集内的索引值

$("ul > li").click(function () {
var index = $(this).prevAll().length;
 });
//如果用的是jquery1.4,明河推荐使用以下方法:
 $("ul > li").click(function () {
var index = $(this).index();
 });

 让一个元素相对于屏幕居中

jQuery.fn.center = function () {
this.css("position","absolute");
this.css("top", ( $(window).height() ? this.height() ) / 2+$(window).scrollTop() + "px");
this.css("left", ( $(window).width() ? this.width() ) / 2+$(window).scrollLeft() + "px");
return this;
}
$(element).center();

这个方法非常实用,明河严重推荐收藏
获取当前页面的URL

$(document).ready(function() {
var pathname = window.location.pathname;
});

  

如何隐藏除了特定选择器下的全部对象

$('#target div:not(#exclude)').hide();
//或者
 $('#target').children().filter(':not(#exclude)').hide();

filter()起到过滤的作用。

寻找带有指定字符串的元素

var foundin = $('*:contains(" 明河")');

获取垂直滚动距离

alert($(document).scrollTop());

scrollTop()非常实用的一个方法。
向表格追加一行数据

$('#myTable tr:last').after('<tr>…</tr>');

超过一个属性时的过滤

var elements = $('#someid input[type=sometype][value=somevalue]').get();

让cookies在X分钟后过期

var date = new Date();
date.setTime(date.getTime() + (x * 60 * 1000));
$.cookie('example', 'foo', { expires: date });

选择从第一个到第X个的元素

//从第一个到第10个
$('a').slice(0,10);
//或者
$('a:lt(10)');

获取客户端的IP

$.getJSON("http://jsonip.appspot.com?callback=?",function(data){
 alert( "你的IP:" + data.ip);
 });

这是利用了jsonip.appspot.com提供的取IP服务。
解析XML数据源

<?xml version="1.0″ ?>
<result>
<item>
<id>1</id>
<title>title1</title>
<description>desc1</description>
</item>
<item>
<id>2</id>
<title>title2</title>
<description>desc2</description>
</item>
<!? … ?>
</result>

$.get('file.xml',{},function(data){
$('item',data).each(function(){
var $this       = $(this);
var id             = $this.find('id').text();
var title         = $this.find('title').text();
var description = $this.find('description').text();
//do something …
});
});

获取在id中的数字

<div id="sites">
<a id="site_1″ href="http://siteA.com">siteA</a>
<a id="site_2″ href="http://siteB.com">siteB</a>
<a id="site_3″ href="http://siteB.com">siteC</a>
…
</div>

$("#sites a").click(function(){
var $this     = $(this);
var nmb     = $this.attr('id').match(/site_(\d+)/)[1];
…
});

将类似12343778 转成 12.343.778的形式

var delimiter = '.';
 $('#result').html()
 .toString()
 .replace(new RegExp("(^\\d{"+($this.html().toString().length%3||-1)+"})(?=\\d{3})"),"$1″ + delimiter)
 .replace(/(\d{3})(?=\d)/g,"$1″ + delimiter);

这个正则值得收藏,颇为经典。
向firebug的控制面板发送消息

jQuery.fn.log = function (msg) {
 console.log("%s: %o", msg, this);
return this;
 };
 $('#some_div').find('li.source > input:checkbox').log("sources to uncheck").removeAttr("checked");

获取图片的宽高

var img = $('#imageid');
var theImage = new Image();
theImage.src = img.attr("src");
alert("Width: " + theImage.width);
alert("Height: " + theImage.height);

Javascript 相关文章推荐
addEventListener和attachEvent二者绑定的执行函数中的this不相同
Dec 09 Javascript
处理文本部分内容的TextRange对象应用实例
Jul 29 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
Oct 23 Javascript
jquery实现删除一个元素后面的所有元素功能
Dec 21 Javascript
jQuery 弹出层插件(推荐)
May 24 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
Jul 11 Javascript
简单几步实现返回顶部效果
Dec 05 Javascript
jquery 手势密码插件
Mar 17 Javascript
JavaScript事件发布/订阅模式原理与用法分析
Aug 21 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
Jul 23 Javascript
vue 通过base64实现图片下载功能
Dec 19 Vue.js
JavaScript小技巧带你提升你的代码技能
Sep 15 Javascript
JavaScript中使用构造函数实现继承的代码
Aug 12 #Javascript
javascript最常用与实用的创建类的代码
Aug 12 #Javascript
javascript中最常用的继承模式 组合继承
Aug 12 #Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
Aug 12 #Javascript
Javascript倒计时代码
Aug 12 #Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
Aug 12 #Javascript
JavaScript 通过模式匹配实现重载
Aug 12 #Javascript
You might like
帅气的琦玉老师
2020/03/02 日漫
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
PHP下几种删除目录的方法总结
2007/08/19 PHP
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
vue实现nav导航栏的方法
2017/12/13 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
python OpenCV学习笔记之绘制直方图的方法
2018/02/08 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
Python File(文件) 方法整理
2019/02/18 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
python 串行执行和并行执行实例
2020/04/30 Python
Python-openCV开运算实例
2020/07/05 Python
用Python制作mini翻译器的实现示例
2020/08/17 Python
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
给护士表扬信
2014/01/19 职场文书
大四学生个人总结
2015/02/15 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
《认识钟表》教学反思
2016/02/16 职场文书
Python获取百度热搜的完整代码
2021/04/07 Python
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python