cari
Rumahhujung hadapan webTutorial H5jquery学习必备代码和技巧

学习jQuery 必备的一些代码和方法,相信学习了本文,你可以对jQuery的学习更加容易。同时欢迎jQuery各位爱好者评论,指出不足,让我们大家共同学习,共同提升技术能力。

请关注html5cn的新浪微博@html5cn、腾讯微博@html5cn,在微博中欢迎大家与html5cn互粉,我们将在这里集中讨论关于html5的发展和使用技巧,希望大家能共同学习,共同进步。

1. 如何修改jQuery默认编码(例如默认UTF-8改成改GB2312):
$.ajaxSetup({
    ajaxSettings:{ contentType:"application/x-www-form-urlencoded;chartset=GB2312"}
});2. 解决jQuery, prototype共存,$全局变量冲突问题:



注意:一定要先引入prototype.js 再引入jquery.js,先后顺序不可错。

3. jQuery 判断元素上是否绑定了事件

//jQuery event封装支持判断元素上是否绑定了事件,此方法只适用于jQuery绑定的事件
var $events = $("#foo").data("events");
if( $events && $events["click"] ){
  //your code
}4. 如何使用jQuery来切换样式表

//找出你希望切换的媒体类型(media-type),然后把href设置成新的样式表。
$('link[media='screen']').attr('href', 'alternative.css');5. 如何限制选择范围(基于优化目的):

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


      
  • Item X

  •   
  • Item Y

  •   
  • Item Z

6. 如何正确地使用toggleClass:

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

if ($.browser.msie) {
// Internet Explorer就是个虐待狂
}8. 如何使用jQuery来代替一个元素:

$('#thatdiv').replaceWith('fnuh');9. 如何验证某个元素是否为空:

// 方法一
if (! $('#keks').html()) {
//什么都没有找到;
}

// 方法二
if ($('#keks').is(":empty")) {
//什么都没有找到;
}10. 如何从一个未排序的集合中找出某个元素的索引号

$("ul > li").click(function () {
  var index = $(this).prevAll().length;    //prevAll([expr]): 查找当前元素之前所有的同辈元素});11. 如何把函数绑定到事件上:

//方法一
$('#foo').click(function(event) {
  alert('User clicked on "foo."');
});

//方法二, 支持动态传参
$('#foo').bind('click', {test1:"abc", test2:"123"}, function(event) {
  alert('User clicked on "foo."' + event.data.test1 + event.data.test2 );
});12. 如何追加或是添加html到元素中:

$('#lal').append('sometext');13. 在创建元素时,如何使用对象字面量(literal)来定义属性

var e = $("", { href: "#", class: "a-class another-class", title: "..." });14. 如何使用多个属性来进行过滤

//在使用许多相类似的有着不同类型的input元素时,
//这种基于精确度的方法很有用
var elements = $('#someid input[type=sometype][value=somevalue]').get();15. 如何使用jQuery来预加载图像:

jQuery.preloadImages = function() {
  for(var i = 0; i     $("jquery学习必备代码和技巧").attr('src', arguments[i]);
  }
};
//用法
$.preloadImages('image1.gif', '/path/to/image2.png', 'some/image3.jpg');16. 如何为任何与选择器相匹配的元素设置事件处理程序:

$('button.someClass').live('click', someFunction);
//注意,在jQuery 1.4.2中,delegate和undelegate选项
//被引入代替live,因为它们提供了更好的上下文支持
//例如,就table来说,以前你会用
$("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. 如何创建嵌套的过滤器:

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

检测Safari (if( $.browser.safari)),
检测IE6及之后版本 (if ($.browser.msie && $.browser.version > 6 )),
检测IE6及之前版本 (if ($.browser.msie && $.browser.version 检测FireFox 2及之后版本 (if ($.browser.mozilla && $.browser.version >= ’1.8′ ))

 

21. 任何使用has()来检查某个元素是否包含某个类或是元素:

//jQuery 1.4.*包含了对这一has方法的支持。
//该方法找出某个元素是否包含了其他另一个元素类或是     其他任何的你正在查找并要在其之上进行操作的东东。
$("input").has(".email").addClass("email_icon");22. 如何禁用右键单击上下文菜单:

$(document).bind('contextmenu',function(e){
  return false;
});23. 如何定义一个定制的选择器

$.expr[':'].mycustomselector = function(element, index, meta, stack){
// element- 一个DOM元素
// index – 栈中的当前循环索引
// meta – 有关选择器的元数据
// stack – 要循环的所有元素的栈
// 如果包含了当前元素就返回true
// 如果不包含当前元素就返回false };
// 定制选择器的用法:
$('.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("Left Mouse Button Clicked");
    } else if(e.button == 2) {
        alert("Right Mouse Button Clicked");
    }
});26. 如何替换串中的词

var el = $('#id');
el.html(el.html().replace(/word/ig, ''));27. 如何在一段时间之后自动隐藏或关闭元素(支持1.4版本):

//这是1.3.2中我们使用setTimeout来实现的方式
setTimeout(function() {
$('.mydiv').hide('blind', {}, 500)
}, 5000);
//而这是在1.4中可以使用delay()这一功能来实现的方式(这很像是休眠)
$(".mydiv").delay(5000).hide('blind', {}, 500);28. 如何把已创建的元素动态地添加到DOM中:

var newDiv = $('
');
newDiv.attr('id','myNewDiv').appendTo('body');29. 如何限制“Text-Area”域中的字符的个数:

jQuery.fn.maxLength = function(max){
    return this.each(function(){
        var type = this.tagName.toLowerCase();
        var inputType = this.type? this.type.toLowerCase() : null;
        if(type == "input" && inputType == "text" || inputType == "password"){
            //Apply the standard maxLength
            this.maxLength = max;
        } else if(type == "textarea"){
            this.onkeypress = function(e){
                var ob = e || event;
                var keyCode = ob.keyCode;
                var hasSelection = 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. 如何jQuery注册和禁用jQuery全局事件

//jQuery注册ajax全局事件ajaxStart,ajaxStop:
$(document).ajaxStart(function(){
    $("#background,#progressBar").show();
}).ajaxStop(function(){
    $("#background,#progressBar").hide();
});
//ajax请求禁用全局事件:$.ajax() 有个参数global (默认: true) 是否触发全局 AJAX 事件.设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。31. 如何在jQuery中克隆一个元素:

var cloned = $('#somediv').clone();32. 在jQuery中如何测试某个元素是否可见

if($(element).is(':visible')) {
  //该元素是可见的
}33. 如何把一个元素放在屏幕的中心位置:

jQuery.fn.center = function () {
  return this.each(function(){
    $(this).css({
      position:'absolute',
      top, ( $(window).height() - this.height() ) / 2 + $(window).scrollTop() + 'px',
      left, ( $(window).width() - this.width() ) / 2 + $(window).scrollLeft() + 'px'
    });
  });
}
//这样来使用上面的函数:
$(element).center();

34. 如何把有着某个特定名称的所有元素的值都放到一个数组中:

var arrInputValues = new Array();
$("input[name='xxx']").each(function(){
  arrInputValues.push($(this).val());
});35. 如何从元素中除去HTML

(function($) {
$.fn.stripHtml = function() {
  var regexp = /])*>/gi;
  this.each(function() {
    $(this).html( $(this).html().replace(regexp,'') );
  });
  return $(this);
}
})(jQuery);
//用法:
$('p').stripHtml();36. 如何使用closest来取得父元素:

$('#searchBox').closest('div');37. 如何使用Firebug和Firefox来记录jQuery事件日志:

// 允许链式日志记录
jQuery.log = jQuery.fn.log = function (msg) {
  if (console){
    console.log("%s: %o", msg, this);
  }
  return this;
};
// 用法:
$('#someDiv').hide().log('div hidden').addClass('someClass');38. 如何强制在弹出窗口中打开链接:

$('a.popup').live('click', function(){
  var newwindow = window.open($(this).attr('href'),'','height=200,width=150');
  if (window.focus) {
    newwindow.focus();
  }
  return false;
});39. 如何强制在新的选项卡中打开链接:

$('a.newTab').live('click', function(){
  var newwindow=window.open(this.href);
  $(this).target = "_blank";
  return false;
});40. 在jQuery中如何使用.siblings()来选择同辈元素

// 不这样做
$('#nav li').click(function(){
  $('#nav li').removeClass('active');
  $(this).addClass('active');
});
//替代做法是
$('#nav li').click(function(){
  $(this).addClass('active').siblings().removeClass('active');
});41. 如何切换页面上的所有复选框:

var tog = false;
// 或者为true,如果它们在加载时为被选中状态的话
$('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(”X Axis : ” + e.pageX + ” | Y Axis ” + e.pageY);
  });
});44. 如何扩展String对象的方法

$.extend(String.prototype, {
        isPositiveInteger:function(){
            return (new RegExp(/^[1-9]\d*$/).test(this));
        },
        isInteger:function(){
            return (new RegExp(/^\d+$/).test(this));
        },
        isNumber: function(value, element) {
            return (new RegExp(/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/).test(this));
        },
        trim:function(){
            return this.replace(/(^\s*)|(\s*$)|\r|\n/g, "");
        },
        trans:function() {
            return this.replace(/, '/g,'>').replace(/"/g, '"');
        },
        replaceAll:function(os, ns) {
            return this.replace(new RegExp(os,"gm"),ns);
        },
        skipChar:function(ch) {
            if (!this || this.length===0) {return '';}
            if (this.charAt(0)===ch) {return this.substring(1).skipChar(ch);}
            return this;
        },
        isValidPwd:function() {
            return (new RegExp(/^([_]|[a-zA-Z0-9]){6,32}$/).test(this));
        },
        isValidMail:function(){
            return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)                  [A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(this.trim()));
        },
        isSpaces:function() {
            for(var i=0; i                var ch = this.charAt(i);
                if (ch!=' '&& ch!="\n" && ch!="\t" && ch!="\r") {return false;}
            }
            return true;
        },
        isPhone:function() {
            return (new RegExp(/(^([0-9]{3,4}[-])?\d{3,8}(-\d{1,6})?$)|                (^\([0-9]{3,4}\)\d{3,8}(\(\d{1,6}\))?$)|(^\d{3,8}$)/).test(this));
        },
        isUrl:function(){
            return (new RegExp(/^[a-zA-z]+:\/\/([a-zA-Z0-9\-\.]+)                   ([-\w .\/?%&=:]*)$/).test(this));
        },
        isExternalUrl:function(){
            return this.isUrl() && this.indexOf("://"+document.domain) == -1;
        }
    });45. 如何规范化写jQuery插件:

(function($){
    $.fn.extend({
        pluginOne: function(){
            return this.each(function(){
                // my code
            });
        },
        pluginTwo: function(){
            return this.each(function(){
                // my code
            });
        }
    });
})(jQuery);46. 如何检查图像是否已经被完全加载进来

$('#theImage').attr('src', 'image.jpg').load(function() {
  alert('This Image Has Been Loaded');
});47. 如何使用jQuery来为事件指定命名空间:

//事件可以这样绑定命名空间
$('input').bind('blur.validation', function(e){
  // ...
});
//data方法也接受命名空间
$('input').data('validation.isValid', true);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
}49. 如何让cookie过期:

var date = new Date();
date.setTime(date.getTime() + (x * 60 * 1000));
$.cookie('example', 'foo', { expires: date });50. 如何使用一个可点击的链接来替换页面中任何的URL

$.fn.replaceUrl = function() {
  var regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)                 (:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
  return this.each(function() {
    $(this).html(
      $(this).html().replace(regexp,'$1')
    );
  });
}
//用法 
$('p').replaceUrl();
 本文由html5cn网站小编摘自互联网和自己整理,转载请注明本文地址
Kenyataan
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
Apa yang dirujuk oleh H5? Meneroka konteksApa yang dirujuk oleh H5? Meneroka konteksApr 12, 2025 am 12:03 AM

H5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelementsandapisforrich, dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enhancusexperienceaceacrossdevices.3) SemantikelementsImproveContentstructureandseo.4) H5'srespo

H5: Alat, Rangka Kerja, dan Amalan TerbaikH5: Alat, Rangka Kerja, dan Amalan TerbaikApr 11, 2025 am 12:11 AM

Alat dan kerangka yang perlu dikuasai dalam pembangunan H5 termasuk Vue.js, React dan Webpack. 1.vue.js sesuai untuk membina antara muka pengguna dan menyokong pembangunan komponen. 2. Leact mengoptimumkan rendering halaman melalui DOM maya, sesuai untuk aplikasi yang kompleks. 3.WebPack digunakan untuk pembungkusan modul dan mengoptimumkan beban sumber.

Warisan HTML5: Memahami H5 pada masa kiniWarisan HTML5: Memahami H5 pada masa kiniApr 10, 2025 am 09:28 AM

Html5hassignificlylylectransformedwebdevelopmentbyintroducingsemanticelements, enhancingmultimediasupport, andimprovingperformance.1) itmadewebebsitesmoreaccessibleandseo-friendlywithSemhyViVeShive, dan

Kod H5: Kebolehcapaian dan HTML SemantikKod H5: Kebolehcapaian dan HTML SemantikApr 09, 2025 am 12:05 AM

H5 meningkatkan kebolehaksesan laman web dan kesan SEO melalui unsur -unsur semantik dan atribut ARIA. 1. Gunakan, dan lain -lain untuk mengatur struktur kandungan dan meningkatkan SEO. 2. Atribut Aria seperti ARIA-Label meningkatkan kebolehcapaian, dan pengguna teknologi bantuan boleh menggunakan laman web dengan lancar.

Adakah H5 sama dengan HTML5?Adakah H5 sama dengan HTML5?Apr 08, 2025 am 12:16 AM

"H5" dan "HTML5" adalah sama dalam kebanyakan kes, tetapi mereka mungkin mempunyai makna yang berbeza dalam senario tertentu tertentu. 1. "HTML5" adalah standard yang ditentukan oleh W3C yang mengandungi tag dan API baru. 2. "H5" biasanya merupakan singkatan HTML5, tetapi dalam pembangunan mudah alih, ia boleh merujuk kepada rangka kerja berdasarkan HTML5. Memahami perbezaan ini membantu menggunakan istilah ini dengan tepat dalam projek anda.

Apakah fungsi H5?Apakah fungsi H5?Apr 07, 2025 am 12:10 AM

H5, atau HTML5, adalah versi kelima HTML. Ia menyediakan pemaju dengan set alat yang lebih kuat, menjadikannya lebih mudah untuk membuat aplikasi web yang kompleks. Fungsi teras H5 termasuk: 1) unsur -unsur yang membolehkan lukisan grafik dan animasi di laman web; 2) tag semantik seperti, dan lain -lain untuk menjadikan struktur laman web jelas dan kondusif untuk pengoptimuman SEO; 3) API baru seperti perkhidmatan berasaskan lokasi GeolocationPi; 4) Keserasian silang penyemak imbas perlu dipastikan melalui ujian keserasian dan perpustakaan polyfill.

Cara melakukan pautan h5Cara melakukan pautan h5Apr 06, 2025 pm 12:39 PM

Bagaimana untuk membuat pautan H5? Tentukan sasaran pautan: Dapatkan URL halaman atau aplikasi H5. Buat HTML Anchors: Gunakan & lt; a & gt; Tag untuk membuat sauh dan tentukan URL sasaran pautan. Tetapkan sifat pautan (pilihan): Tetapkan sasaran, tajuk, dan sifat onClick seperti yang diperlukan. Tambah ke laman web: Tambah kod utama HTML ke laman web di mana anda mahu pautan muncul.

Cara menyelesaikan masalah keserasian H5Cara menyelesaikan masalah keserasian H5Apr 06, 2025 pm 12:36 PM

Penyelesaian kepada isu keserasian H5 termasuk: menggunakan reka bentuk responsif yang membolehkan laman web menyesuaikan susun atur mengikut saiz skrin. Gunakan alat ujian silang penyemak imbas untuk menguji keserasian sebelum dilepaskan. Gunakan Polyfill untuk memberi sokongan untuk API baru untuk pelayar yang lebih tua. Ikuti piawaian web dan gunakan kod yang berkesan dan amalan terbaik. Gunakan preprocessors CSS untuk memudahkan kod CSS dan meningkatkan kebolehbacaan. Mengoptimumkan imej, mengurangkan saiz laman web dan mempercepatkan pemuatan. Dayakan HTTPS untuk memastikan keselamatan laman web.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.