Contoh coretan kod biasa JQuery untuk pembangunan bahagian hadapan web (50)_jquery

WBOY
Lepaskan: 2016-05-16 15:41:51
asal
1911 orang telah melayarinya

Artikel ini menunjukkan kepada anda 50 coretan kod jquery yang boleh membantu projek javascript anda. Beberapa coretan kod ialah amalan yang hanya disokong sejak jQuery 1.4.2, dan yang lain adalah fungsi atau kaedah yang sangat berguna yang boleh membantu anda menyelesaikan sesuatu dengan cepat dan baik. Ini adalah coretan kod yang saya cuba ingat untuk prestasi terbaik, jadi jika anda melihat apa-apa yang anda boleh lakukan dengan lebih baik, sila tampal versi anda dalam ulasan! Saya harap anda mendapati artikel ini membantu.

1. Cara membuat penapis bersarang

//允许你减少集合中的匹配元素的过滤器, //只剩下那些与给定的选择器匹配的部分。在这种情况下, //查询删除了任何没(:not)有(:has) //包含class为“selected”(.selected)的子节点。.filter(":not(:has(.selected))")

Salin selepas log masuk

2. Cara menggunakan semula carian elemen

 var allItems = $("div.item"); var keepList = $("div#container1 div.item"); //现在你可以继续使用这些jQuery对象来工作了。例如, //基于复选框裁剪“keep list”,复选框的名称 //符合 
 <DIV>class names:
 $(formToLookAt + " input:checked").each(function () { keepList = keepList.filter("." + $(this).attr("name")); });
 </DIV>
Salin selepas log masuk

3. Sesiapa sahaja yang menggunakan has() untuk menyemak sama ada sesuatu elemen mengandungi kelas atau elemen tertentu

//jQuery 1.4.*包含了对这一has方法的支持。该方法找出 //某个元素是否包含了其他另一个元素类或是其他任何的 //你正在查找并要在其之上进行操作的东东。$("input").has(".email").addClass("email_icon");
Salin selepas log masuk

4. Cara menggunakan jQuery untuk menukar helaian gaya

 //找出你希望切换的媒体类型(media-type),然后把href设置成新的样式表。
$(‘link[media=”screen”]').attr(‘href', ‘Alternative.css');
Salin selepas log masuk

5 Cara mengehadkan julat pemilihan (berdasarkan tujuan pengoptimuman)

    //尽可能使用标签名来作为类名的前缀,     //这样jQuery就不需要花费更多的时间来搜索     //你想要的元素。还要记住的一点是,     //针对于你的页面上的元素的操作越具体化,     //就越能降低执行和搜索的时间。
 var in_stock = $('#shopping_cart_items input.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>
Salin selepas log masuk

6. Cara menggunakan ToggleClass dengan betul

    //切换(toggle)类允许你根据某个类的     //是否存在来添加或是删除该类。     //这种情况下有些开发者使用:
 a.hasClass('blueButton') &#63; a.removeClass('blueButton') : a.addClass('blueButton');
//toggleClass允许你使用下面的语句来很容易地做到这一点

a.toggleClass(‘blueButton');
Salin selepas log masuk

7. Bagaimana untuk menyediakan fungsi khusus IE

  if ($.browser.msie) {
// Internet Explorer其实不那么好用

}
Salin selepas log masuk

8. Cara menggunakan jQuery untuk menggantikan elemen

 $(‘#thatdiv').replaceWith(‘fnuh');
Salin selepas log masuk

9. Cara mengesahkan sama ada elemen kosong

  if ($(‘#keks').html().trim()) {
//什么都没有找到;

}
Salin selepas log masuk

10. Bagaimana untuk mencari nombor indeks unsur daripada set yang tidak diisih

 $("ul > li").click(function () { var index = $(this).prevAll().length; });
Salin selepas log masuk

11. Cara mengikat fungsi pada acara

 $('#foo').bind('click', function () { alert('User clicked on "foo."'); });
Salin selepas log masuk

12. Bagaimana untuk menambah atau menambah html pada elemen

 $(‘#lal').append(‘sometext');
Salin selepas log masuk

13 Cara menggunakan literal objek untuk mentakrifkan atribut semasa mencipta elemen

 var e = $(“”, { href: “#”, class: “a-class another-class”, title: “…” });
Salin selepas log masuk

14. Cara menggunakan berbilang atribut untuk menapis

  //在使用许多相类似的有着不同类型的input元素时,     //这种基于精确度的方法很有用
   var elements = $('#someid input[type=sometype][value=somevalue]').get();
Salin selepas log masuk

15 Cara menggunakan jQuery untuk pramuat imej

 jQuery.preloadImages = function () { for (var i = 0; i < arguments.length; i++) { $("<img />").attr('src', arguments[i]); } };
//用法 $.preloadImages(‘image1.gif', ‘/path/to/image2.png','some/image3.jpg');
Salin selepas log masuk

16 Cara menetapkan pengendali acara untuk mana-mana elemen yang sepadan dengan pemilih

 $('button.someClass').live('click', someFunction);//注意,在jQuery 1.4.2中,delegate和undelegate选项 //被引入代替live,因为它们提供了更好的上下文支持 //例如,就table来说,以前你会用 //.live() $("table").each(function () { $("td", this).live("hover", function () { $(this).toggleClass("hover"); }); });//现在用 $("table").delegate("td", "hover", function () { $(this).toggleClass("hover"); });
Salin selepas log masuk

17. Bagaimana untuk mencari elemen pilihan yang telah dipilih

 $(‘#someElement').find(‘option:selected');
Salin selepas log masuk

18. Bagaimana untuk menyembunyikan elemen yang mengandungi teks nilai tertentu

 $(“p.value:contains(‘thetextvalue')”).hide();
Salin selepas log masuk

19 Jika anda secara automatik menatal ke kawasan tertentu pada halaman

  jQuery.fn.autoscroll = function (selector) {

$(‘html,body').animate( { scrollTop: $(this ).offset().top },
500
);
}
//然后像这样来滚动到你希望去到的class/area上。

$(‘.area_name').autoscroll();
Salin selepas log masuk

20. Bagaimana untuk mengesan pelbagai pelayar

 if( $.browser.safari) //检测Safari
if ($.browser.msie && $.browser.version > 6 ) //检测IE6及之后版本
if ($.browser.msie && $.browser.version <= 6 ) //检测IE6及之前版本
if ($.browser.mozilla && $.browser.version >= ‘1.8' ) //检测FireFox 2及之后版本
Salin selepas log masuk

21. Bagaimana untuk menggantikan perkataan dalam rentetan

 var el = $(‘#id'); el.html(el.html().replace(/word/ig, ”));
Salin selepas log masuk

22. Bagaimana untuk melumpuhkan menu konteks klik kanan

$(document).bind(‘contextmenu', function (e) {

return false ;
});
Salin selepas log masuk

23. Bagaimana untuk menentukan pemilih tersuai

$.expr[':'].mycustomselector = function(element, index, meta, stack){ // element- 一个DOM元素 // index – 栈中的当前循环索引 // meta – 有关选择器的元数据 // stack – 要循环的所有元素的栈 // 如果包含了当前元素就返回true // 如果不包含当前元素就返回false }; // 定制选择器的用法: $('.someClasses:test').doSomething();
Salin selepas log masuk

24. Bagaimana untuk menyemak sama ada unsur wujud

if ($(‘#someDiv' ).length) {
//你妹,终于找到了
}
Salin selepas log masuk

25 Cara menggunakan jQuery untuk mengesan klik kanan dan kiri tetikus

 $("#someelement").live('click', function (e) { if ((!$.browser.msie && e.button == 0) || ($.browser.msie && e.button == 1)) { alert("Left Mouse Button Clicked"); } else if (e.button == 2) { alert("Right Mouse Button Clicked"); } });
Salin selepas log masuk

26 Bagaimana untuk memaparkan atau memadam nilai lalai dalam medan input

//这段代码展示了在用户未输入值时,     //如何在文本类型的input域中保留     //一个默认值
 $(".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]); } }); });
Salin selepas log masuk

27 Cara menyembunyikan atau menutup elemen secara automatik selepas tempoh masa (menyokong versi 1.4)

//这是1.3.2中我们使用setTimeout来实现的方式
 setTimeout(function () { $('.mydiv').hide('blind', {}, 500) }, 5000); //而这是在1.4中可以使用delay()这一功能来实现的方式(这很像是休眠) $(".mydiv").delay(5000).hide('blind', {}, 500);
Salin selepas log masuk

28 Cara menambah elemen yang dicipta secara dinamik pada DOM

var newDiv = $(”);
newDiv.attr(‘id', ‘myNewDiv').appendTo(‘body');
Salin selepas log masuk

29 Cara mengehadkan bilangan aksara dalam medan "Kawasan Teks"

 jQuery.fn.maxLength = function (max) { this.each(function () { var type = this.tagName.toLowerCase(); var inputType = this.type &#63; this.type.toLowerCase() : null; if (type == "input" && inputType == "text" || inputType == "password") { this.maxLength = max; } else if (type == "textarea") { this.onkeypress = function (e) { var ob = e || event; var keyCode = ob.keyCode; var hasSelection = document.selection &#63; 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);
Salin selepas log masuk

30. Bagaimana untuk mencipta ujian asas untuk fungsi

//把测试单独放在模块中 module("Module B"); test("some other test", function () { //指明测试内部预期有多少要运行的断言 expect(2); //一个比较断言,相当于JUnit的assertEquals equals(true, false, "failing test"); equals(true, true, "passing test"); });
Salin selepas log masuk

31. Bagaimana untuk mengklon elemen dalam jQuery

var cloned = $(‘#somediv').clone();
Salin selepas log masuk

32 Bagaimana untuk menguji sama ada elemen boleh dilihat dalam jQuery

  if ($(element).is(‘:visible') ) {
//该元素是可见的
}
Salin selepas log masuk

33. Cara meletakkan elemen di tengah skrin

 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'); return this; }
//这样来使用上面的函数: $(element).center(); 
Salin selepas log masuk

34 Bagaimana untuk meletakkan nilai semua elemen dengan nama tertentu ke dalam tatasusunan

var arrInputValues = new Array();
$(“input[name='table[]']”).each(function () {
arrInputValues.push($(this ).val());
});
Salin selepas log masuk

35. Bagaimana untuk mengalih keluar HTML daripada elemen

(function ($) { $.fn.stripHtml = function () { var regexp = /<("[^"]*"|'[^']*'|[^'">])*>/gi; this.each(function () { $(this).html($(this).html().replace(regexp, "")); }); return $(this); } })(jQuery);
//用法: $(‘p').stripHtml(); 
Salin selepas log masuk

36 Cara menggunakan paling hampir untuk mendapatkan elemen induk

 $(‘#searchBox').closest(‘div');
Salin selepas log masuk

37 Bagaimana untuk melog peristiwa jQuery menggunakan Firebug dan Firefox

// 允许链式日志记录 // 用法:$('#someDiv').hide().log('div hidden').addClass('someClass'); jQuery.log = jQuery.fn.log = function (msg) { if (console) { console.log("%s: %o", msg, this); } return this; };
Salin selepas log masuk

38. Cara memaksa pautan dibuka dalam tetingkap timbul

jQuery('a.popup').live('click', function () { newwindow = window.open($(this).attr('href'), '', 'height=200,width=150'); if (window.focus) { newwindow.focus(); } return false; });
Salin selepas log masuk

39 Cara memaksa pautan dibuka dalam tab baharu

 jQuery('a.newTab').live('click', function () { newwindow = window.open($(this).href); jQuery(this).target = "_blank"; return false; });
Salin selepas log masuk

40. 在jQuery中如何使用.siblings()来选择同辈元素

  // 不这样做
 $('#nav li').click(function () { $('#nav li').removeClass('active'); $(this).addClass('active'); });
//替代做法是
 $('#nav li').click(function () { $(this).addClass('active').siblings().removeClass('active'); })
Salin selepas log masuk

41. 如何切换页面上的所有复选框

 var tog = false ;
// 或者为true,如果它们在加载时为被选中状态的话
 $('a').click(function () { $("input[type=checkbox]").attr("checked", !tog); tog = !tog; });
Salin selepas log masuk

42. 如何基于一些输入文本来过滤一个元素列表

//如果元素的值和输入的文本相匹配的话     //该元素将被返回
 $('.someClass').filter(function () { return $(this).attr('value') == $('input#someId').val(); })
Salin selepas log masuk

43. 如何获得鼠标垫光标位置x和y

$(document).ready(function () { $(document).mousemove(function (e) { $('#XY').html("X Axis : " + e.pageX + " | Y Axis " + e.pageY); }); });
Salin selepas log masuk

44. 如何把整个的列表元素(List Element,LI)变成可点击的

$("ul li").click(function () { window.location = $(this).find("a").attr("href"); return false; });
 <ul> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li><a href="#">Link 4</a></li> </ul>
Salin selepas log masuk

45. 如何使用jQuery来解析XML(基本的例子)


function parseXml(xml) { //找到每个Tutorial并打印出author $(xml).find("Tutorial").each(function () { $("#output").append($(this).attr("author") + ""); }); }
Salin selepas log masuk

46. 如何检查图像是否已经被完全加载进来

$('#theImage').attr('src', 'image.jpg').load(function () { alert('This Image Has Been Loaded'); });
Salin selepas log masuk

47. 如何使用jQuery来为事件指定命名空间

//事件可以这样绑定命名空间 $('input').bind('blur.validation', function (e) { // ... }); //data方法也接受命名空间 $('input').data('validation.isValid', true);
Salin selepas log masuk

48. 如何检查cookie是否启用

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) { //没有启用cookie }
Salin selepas log masuk

49. 如何让cookie过期

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

50. 如何使用一个可点击的链接来替换页面中任何的URL

 $.fn.replaceUrl = function () { var regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)&#63;(\S+)(:[0-9]+)&#63;(\/|\/([\w#!:.&#63;+=&%@!\-\/]))&#63;)/gi; this.each(function () { $(this).html( $(this).html().replace(regexp, '<a href="$1">$1</a>') ); }); return $(this); }
//用法  $(‘p').replaceUrl();
Salin selepas log masuk

以上内容就是给大家介绍了web前端开发JQuery常用实例代码片段(50个),希望大家喜欢。

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!