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 相关文章推荐
javascript 客户端验证上传图片的大小(兼容IE和火狐)
Aug 15 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
Apr 23 Javascript
JS将秒换成时分秒实现代码
Sep 03 Javascript
JS 实现导航栏悬停效果(续2)
Sep 24 Javascript
javascript与jquery中跳出循环的区别总结
Nov 04 Javascript
extjs4 treepanel动态改变行高度示例
Dec 17 Javascript
js使用post 方式打开新窗口
Feb 26 Javascript
JavaScript基础知识点归纳(推荐)
Jul 09 Javascript
js阻止默认右键的下拉菜单方法
Jan 02 Javascript
Angular路由ui-router配置详解
Aug 01 Javascript
vue文件运行的方法教学
Feb 12 Javascript
vue-cli配置flexible过程详解
Jul 04 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
世界收音机发展史
2021/03/01 无线电
PHP 时间转换Unix时间戳代码
2010/01/22 PHP
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
用cookies实现的可记忆的样式切换效果代码下载
2007/12/24 Javascript
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
2011/01/27 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
Javascript实现找不同色块的游戏
2017/07/17 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
jQuery位置选择器用法实例分析
2019/06/28 jQuery
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
python调用外部程序的实操步骤
2019/03/04 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
2020/08/20 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
python包的导入方式总结
2021/03/02 Python
神经网络训练采用gpu设置的方式
2021/03/03 Python
CSS3 创建网页动画实现弹跳球动效果
2018/10/30 HTML / CSS
副总经理工作职责
2013/11/28 职场文书
2015年测量员工作总结
2015/05/23 职场文书
2015中秋祝酒词
2015/08/12 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
React配置子路由的实现
2021/06/03 Javascript
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2022/07/23 Java/Android