本文会给你们展示50个jquery代码片段,这些代码能够给你的javascript项目提供帮助。其中的一些代码段是从jQuery1.4.2才开始支持的做法,另一些则是真正有用的函数或方法,他们能够帮助你又快又好地把事情完成。这些都是我尽量记住的有着最佳性能的代码段,因此如果你发现你任何可以做得更好的地方的话,欢迎把你的版本粘贴在评论中!我希望你在这一文章中能找到有帮助的东西。
1. 如何创建嵌套的过滤器:
-
-
-
-
.filter(":not(:has(.selected))")
2. 如何重用元素搜索
- varallItems=$("div.item");
-
varkeepList=$("div#container1div.item");
-
-
-
-
<DIV>classnames:
-
$(formToLookAt+"input:checked").each(function(){
-
keepList=keepList.filter("."+$(this).attr("name"));
- });
- </DIV>
3. 任何使用has()来检查某个元素是否包含某个类或是元素:
-
-
-
$("input").has(".email").addClass("email_icon");
4. 如何使用jQuery来切换样式表
-
$('link[media='screen']').attr('href','Alternative.css');
5. 如何限制选择范围(基于优化目的):
-
-
-
-
-
varin_stock=$('#shopping_cart_itemsinput.is_in_stock');<ul id="shopping_cart_items">
<li><input type="radio" value="Item-X" name="item" class="is_in_stock" /> Item X</li>
<li><input type="radio" value="Item-Y" name="item" class="3-5_days" /> Item Y</li>
<li><input type="radio" value="Item-Z" name="item" class="unknown" /> Item Z</li>
</ul>
6. 如何正确地使用ToggleClass:
-
-
-
a.hasClass('blueButton')?a.removeClass('blueButton'):a.addClass('blueButton');
-
-
a.toggleClass('blueButton');
7. 如何设置IE特有的功能:
- if($.browser.msie){
-
- }
8. 如何使用jQuery来代替一个元素:
- $('#thatdiv').replaceWith('fnuh');
9. 如何验证某个元素是否为空:
- if($('#keks').html()){
-
- }
10. 如何从一个未排序的集合中找出某个元素的索引号
- $("ul>li").click(function(){
-
varindex=$(this).prevAll().length;
- });
11. 如何把函数绑定到事件上:
- $('#foo').bind('click',function(){
-
alert('Userclickedon"foo."');
- });
12. 如何追加或是添加html到元素中:
- $('#lal').append('sometext');
13. 在创建元素时,如何使用对象字面量(literal)来定义属性
- vare=$("",{href:"#",class:"a-classanother-class",title:"..."});
14. 如何使用多个属性来进行过滤
-
-
varelements=$('#someidinput[type=sometype][value=somevalue]').get();
15. 如何使用jQuery来预加载图像:
- jQuery.preloadImages=function(){
-
for(vari=0;i<arguments.length;i++){
-
$("<img/>").attr('src',arguments[i]);
- }
- };
-
-
$.preloadImages('image1.gif','/path/to/image2.png','some/image3.jpg');
16. 如何为任何与选择器相匹配的元素设置事件处理程序:
- $('button.someClass').live('click',someFunction);
-
-
-
-
-
$("table").each(function(){
-
$("td",this).live("hover",function(){
-
$(this).toggleClass("hover");
- });
- });
-
-
$("table").delegate("td","hover",function(){
-
$(this).toggleClass("hover");
- });
17. 如何找到一个已经被选中的option元素:
- $('#someElement').find('option:selected');
18. 如何隐藏一个包含了某个值文本的元素:
- $("p.value:contains('thetextvalue')").hide();
19. 如果自动滚动到页面中的某区域
- jQuery.fn.autoscroll=function(selector){
-
$('html,body').animate(
- {scrollTop:$(selector).offset().top},
- 500
- };
- }
-
-
$('.area_name').autoscroll();
20. 如何检测各种浏览器:
- 检测Safari(if($.browser.safari)),
-
检测IE6及之后版本(if($.browser.msie&&$.browser.version>6)),
-
检测IE6及之前版本(if($.browser.msie&&$.browser.version<=6)),
-
检测FireFox2及之后版本(if($.browser.mozilla&&$.browser.version>='1.8'))
21. 如何替换串中的词
- varel=$('#id');
-
el.html(el.html().replace(/word/ig,''));
22. 如何禁用右键单击上下文菜单:
- $(document).bind('contextmenu',function(e){
-
returnfalse;
- });
23. 如何定义一个定制的选择器
- $.expr[':'].mycustomselector=function(element,index,meta,stack){
-
-
-
-
-
-
-
-
$('.someClasses:test').doSomething();
24. 如何检查某个元素是否存在
- if($('#someDiv').length){
-
- }
25. 如何使用jQuery来检测右键和左键的鼠标单击两种情况:
- $("#someelement").live('click',function(e){
-
if((!$.browser.msie&&e.button==0)||($.browser.msie&&e.button==1)){
-
alert("LeftMouseButtonClicked");
-
}elseif(e.button==2){
-
alert("RightMouseButtonClicked");
- }
- });
26. 如何显示或是删除input域中的默认值
-
-
- wap_val=[];
-
$(".swap").each(function(i){
-
wap_val[i]=$(this).val();
-
$(this).focusin(function(){
-
if($(this).val()==swap_val[i]){
-
$(this).val("");
- }
-
}).focusout(function(){
-
if($.trim($(this).val())==""){
-
$(this).val(swap_val[i]);
- }
- });
- });
27. 如何在一段时间之后自动隐藏或关闭元素(支持1.4版本):
-
setTimeout(function(){
-
$('.mydiv').hide('blind',{},500)
- },5000);
-
-
$(".mydiv").delay(5000).hide('blind',{},500);
28. 如何把已创建的元素动态地添加到DOM中:
- varnewDiv=$('');
-
newDiv.attr('id','myNewDiv').appendTo('body');
29. 如何限制“Text-Area”域中的字符的个数:
- jQuery.fn.maxLength=function(max){
-
this.each(function(){
-
vartype=this.tagName.toLowerCase();
-
varinputType=this.type?this.type.toLowerCase():null;
-
if(type=="input"&&inputType=="text"||inputType=="password"){
-
-
this.maxLength=max;
- }
-
elseif(type=="textarea"){
-
this.onkeypress=function(e){
-
varob=e||event;
-
varkeyCode=ob.keyCode;
-
varhasSelection=document.selection?document.selection.createRange().text.length>0:this.selectionStart!=this.selectionEnd;
-
return!(this.value.length>=max&&(keyCode>50||keyCode==32||keyCode==0||keyCode==13)&&!ob.ctrlKey&&!ob.altKey&&!hasSelection);
- };
-
this.onkeyup=function(){
-
if(this.value.length>max){
-
this.value=this.value.substring(0,max);
- }
- };
- }
- });
- };
-
-
$('#mytextarea').maxLength(500);
30. 如何为函数创建一个基本的测试
-
module("ModuleB");
-
test("someothertest",function(){
-
- expect(2);
-
-
equals(true,false,"failingtest");
-
equals(true,true,"passingtest");
- });
31. 如何在jQuery中克隆一个元素:
- varcloned=$('#somediv').clone();
32. 在jQuery中如何测试某个元素是否可见
- if($(element).is(':visible')=='true'){
-
- }
33. 如何把一个元素放在屏幕的中心位置:
- jQuery.fn.center=function(){
-
this.css('position','absolute');
-
this.css('top',($(window).height()-this.height())/+$(window).scrollTop()+'px');
-
this.css('left',($(window).width()-this.width())/2+$(window).scrollLeft()+'px');
-
returnthis;
- }
-
- $(element).center();
34. 如何把有着某个特定名称的所有元素的值都放到一个数组中:
- vararrInputValues=newArray();
-
$("input[name='table[]']").each(function(){
-
arrInputValues.push($(this).val());
- });
35. 如何从元素中除去HTML
- (function($){
-
$.fn.stripHtml=function(){
-
varregexp=/<("[^"]*"|'[^']*'|[^'">])*>/gi;
-
this.each(function(){
-
$(this).html($(this).html().replace(regexp,”"));
- });
-
return$(this);
- }
- })(jQuery);
-
-
$('p').stripHtml();
36. 如何使用closest来取得父元素:
- $('#searchBox').closest('div');
37. 如何使用Firebug和Firefox来记录jQuery事件日志:
-
-
$('#someDiv').hide().log('divhidden').addClass('someClass');
-
jQuery.log=jQuery.fn.log=function(msg){
-
if(console){
-
console.log("%s:%o",msg,this);
- }
-
returnthis;
- };
38. 如何强制在弹出窗口中打开链接:
- jQuery('a.popup').live('click',function(){
-
newwindow=window.open($(this).attr('href'),'','height=200,width=150');
-
if(window.focus){
- newwindow.focus();
- }
-
returnfalse;
- });
39. 如何强制在新的选项卡中打开链接:
- jQuery('a.newTab').live('click',function(){
-
newwindow=window.open($(this).href);
-
jQuery(this).target="_blank";
-
returnfalse;
- });
40. 在jQuery中如何使用.siblings()来选择同辈元素
-
$('#navli').click(function(){
-
$('#navli').removeClass('active');
-
$(this).addClass('active');
- });
-
-
$('#navli').click(function(){
-
$(this).addClass('active').siblings().removeClass('active');
- });
41. 如何切换页面上的所有复选框:
- vartog=false;
-
-
$('a').click(function(){
-
$("input[type=checkbox]").attr("checked",!tog);
- tog=!tog;
- });
42. 如何基于一些输入文本来过滤一个元素列表:
-
-
$('.someClass').filter(function(){
-
return$(this).attr('value')==$('input#someId').val();
- })
43. 如何获得鼠标垫光标位置x和y
- $(document).ready(function(){
-
$(document).mousemove(function(e){
- $(’#XY’).html(”XAxis:”+e.pageX+”|YAxis”+e.pageY);
- });
- });
44. 如何把整个的列表元素(List Element,LI)变成可点击的
- $("ulli").click(function(){
-
window.location=$(this).find("a").attr("href");
-
returnfalse;
- });
- <ul>
-
<li><ahref="#">Link1</a></li>
-
<li><ahref="#">Link2</a></li>
-
<li><ahref="#">Link3</a></li>
-
<li><ahref="#">Link4</a></li>
- </ul>
45. 如何使用jQuery来解析XML(基本的例子):
- functionparseXml(xml){
-
-
$(xml).find("Tutorial").each(function(){
-
$("#output").append($(this).attr("author")+"");
- });
- }
46. 如何检查图像是否已经被完全加载进来
- $('#theImage').attr('src','image.jpg').load(function(){
-
alert('ThisImageHasBeenLoaded');
- });
47. 如何使用jQuery来为事件指定命名空间:
-
$('input').bind('blur.validation',function(e){
-
- });
-
-
$('input').data('validation.isValid',true);
48. 如何检查cookie是否启用
- vardt=newDate();
- dt.setSeconds(dt.getSeconds()+60);
-
document.cookie="cookietest=1;expires="+dt.toGMTString();
-
varcookiesEnabled=document.cookie.indexOf("cookietest=")!=-1;
-
if(!cookiesEnabled){
-
- }
49. 如何让cookie过期:
- vardate=newDate();
- date.setTime(date.getTime()+(x*60*1000));
-
$.cookie('example','foo',{expires:date});
50. 如何使用一个可点击的链接来替换页面中任何的URL
- $.fn.replaceUrl=function(){
-
varregexp=/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
-
this.each(function(){
-
$(this).html(
-
$(this).html().replace(regexp,'<ahref="$1">$1</a>‘)
- );
- });
-
return$(this);
- }
-
-
$('p').replaceUrl();
原文:http://www.woiweb.net/50-jquery-snippets-for-developers.html
分享到:
相关推荐
### 50个必备的实用jQuery代码段 #### 1. 创建嵌套过滤器 **知识点:** - **`filter()` 方法:** 这个方法用于从当前匹配元素集合中进一步筛选出符合特定条件的元素。 - **选择器 `:not(:has(.selected))`:** 这...
本篇将详细解析"50个必备的实用jQuery代码段",帮助开发者深入理解并熟练运用jQuery,提升开发效率。 1. **选择器**:jQuery的选择器功能强大,如`$("#id")`用于选取ID为"id"的元素,`$(".class")`选取所有class为...
这个压缩包包含的"Asp.net开发必备51种代码"涵盖了Web应用开发中的多个重要方面,包括页面生命周期管理、数据访问、用户认证与授权、状态管理、错误处理以及性能优化等。以下是这些知识点的详细说明: 1. 页面生命...
这段代码会将ID为`myElement`的元素的背景颜色在1秒钟内平滑地从当前颜色渐变到蓝色。这里的时间参数(1000)代表动画的持续时间,单位是毫秒。 `jquery.color.js`不仅支持基本的颜色名称,还支持十六进制、RGB、...
这个精心收集的jQuery特效集是前端开发者不可或缺的资源,涵盖了各种实用的视觉效果和交互设计。 **1. jQuery图片特效slider插件** jQuery图片slider插件是网页中常见的元素,用于展示一组图片或内容,通过自动滑动...
资源名称:JAVA开发疑难问题汇总资源目录:【】10年程序员生涯总结:从C 到Java的几点思考【】50个必备的实用jQuery代码段【】5招教你把握Java性能监控【】J2EE基础:浅谈依赖注入实现的方法【】java-内部类那点事...
总的来说,jQuery京东商城城市联动城市选择代码的实现涉及到前端数据交互、事件处理和DOM操作等核心技能,是前端开发者必备的一种实用技术。通过学习和实践此类功能,可以提升前端开发能力,为用户提供更加流畅的...
例如,在代码段`var sheng=$(xml).find("prov");`中,通过`find`函数查找XML文件中代表省份的节点,接着使用`each`函数遍历每个省份节点,并通过`eq`和`attr`获取省份的索引和文本,最终通过`province.append()`方法...
《jQuery 1.7.2 中文手册》是前端开发者必备的参考资料,它详细阐述了jQuery库在1.7.2版本中的各项功能和用法。jQuery是一个强大的JavaScript库,它的核心理念是“Write Less, Do More”,通过简洁的API接口,让...
《jQuery应用技巧大全》 jQuery,作为一款广泛使用的JavaScript库,极大地简化了DOM操作、...文档“1.42修改过的”和“新建 50个必备的实用jQuery代码段”提供了具体的实例和示例,是进一步深入学习jQuery的宝贵资源。
这个压缩包"ASP.NET开发必备51种代码(非常实用).rar"提供了一系列针对初学者的基础代码示例,帮助开发者快速上手并理解ASP.NET的核心概念。下面将详细阐述这些知识点: 1. **页面生命周期**:了解ASP.NET页面从请求...