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 相关文章推荐
响应鼠标变换表格背景或者颜色的代码
Mar 30 Javascript
jQuery拖动图片删除示例
May 10 Javascript
动态获取复选框checkbox选中个数的jquery代码
Jun 25 Javascript
浅析jQuery中常用的元素查找方法总结
Jul 04 Javascript
Jquery响应回车键直接提交表单操作代码
Jul 25 Javascript
js实现精美的银灰色竖排折叠菜单
May 16 Javascript
Bootstrap CSS布局之表格
Dec 17 Javascript
jQuery实现简易的输入框字数计数功能示例
Jan 16 Javascript
详解Angular5 服务端渲染实战
Jan 04 Javascript
详解Angular5路由传值方式及其相关问题
Apr 28 Javascript
JavaScript常见继承模式实例小结
Jan 11 Javascript
Vue+Vant 图片上传加显示的案例
Nov 03 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
thinkPHP数据库增删改查操作方法实例详解
2016/12/06 PHP
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
基于jquery的关于动态创建DOM元素的问题
2010/12/24 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
jQuery实现模拟flash头像裁切上传功能示例
2016/12/11 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
2019/11/07 Javascript
vue 解除鼠标的监听事件的方法
2019/11/13 Javascript
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
安装Python的教程-Windows
2017/07/22 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
2019/01/19 Python
Python的Lambda函数用法详解
2019/09/03 Python
深入了解Python在HDA中的应用
2019/09/05 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
世界领先的高品质定制产品平台:Zazzle
2017/07/23 全球购物
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
外国语学院毕业生自荐信
2013/10/28 职场文书
毕业生自我鉴定范文
2013/11/08 职场文书
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
幸福家庭标语
2014/06/27 职场文书
邓小平理论心得体会
2014/09/09 职场文书
2014年财务工作总结与计划
2014/12/08 职场文书
小学四年级学生评语
2014/12/26 职场文书
生日赠语
2015/06/23 职场文书
2016年教师节感恩寄语
2015/12/04 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL