Home  >  Article  >  Web Front-end  >  30 classic jQuery code development skills_jquery

30 classic jQuery code development skills_jquery

WBOY
WBOYOriginal
2016-05-16 16:26:571401browse

The examples in this article summarize 30 classic jQuery code development skills. Share it with everyone for your reference. The details are as follows:

1. Create a nested filter

Copy code The code is as follows:
.filter(":not(:has(.selected))" ) //Remove all elements that do not contain class .selected

2. Reuse your element queries

Copy code The code is as follows:
var allItems = $("div.item");
var keepList = $("div#container1 div.item");
class names: $(formToLookAt " input:checked").each(function() { keepListkeepList = keepList.filter("." $(this).attr("name"));
});

3. Use has() to determine whether an element contains a specific class or element

Copy code The code is as follows:
//jQuery 1.4.* includes support for the has method. This method will find
//if a an element contains a certain other element class or whatever it is
//you are looking for and do anything you want to them.
$("input").has(".email").addClass("email_icon");

4. Use jQuery to switch styles

Copy code The code is as follows:
//Look for the media-type you wish to switch then set the href to your new style sheet
$('link[media='screen']').attr('href', 'Alternative.css');

5. Limit the selected area

Copy code The code is as follows:
//Where possible, pre-fix your class names with a tag name
//so that jQuery doesn't have to spend more time searching
//for the element you're after. Also remember that anything
//you can do to be more specific about where the element is
//on your page will cut down on execution/search times
var in_stock = $('#shopping_cart_items input.is_in_stock');

  • Item X

  • Item Y

  • Item Z

6. How to use ToggleClass correctly

Copy code The code is as follows:
//Toggle class allows you to add or remove a class
//from an element depending on the presence of that
//class. Where some developers would use:
a.hasClass('blueButton') ? a.removeClass('blueButton') : a.addClass('blueButton');
//toggleClass allows you to easily do this usinga.toggleClass('blueButton');

7. Set the functions specified by IE

Copy code The code is as follows:
if ($.browser.msie) {
// Internet Explorer is a sadist.
}

8. Use jQuery to replace an element

Copy code The code is as follows:
$('#thatdiv').replaceWith('fnuh');

9. Verify whether an element is empty

Copy code The code is as follows:
if ($('#keks').html()) {
//Nothing found ;
}

10. Find the index of an element in an unordered set

Copy code The code is as follows:
$("ul > li").click(function () { var index = $(this).prevAll().length; });

11. Bind a function to an event

Copy code The code is as follows:
$('#foo').bind('click', function () { alert('User clicked on "foo."'); });

12. Add HTML to an element

Copy code The code is as follows:
$('#lal').append('sometext');

13. Use objects to define attributes when creating elements

Copy code The code is as follows:
var e = $("", { href: "#", class: "a-class another-class", title: "..." });

14. Use filters to filter multiple attributes

Copy code The code is as follows:
//This precision-based approach can be useful when you use
//lots of similar input elements which have different types
var elements = $('#someid input[type=sometype][value=somevalue]').get();

15. Use jQuery to preload images

Copy code The code is as follows:
jQuery.preloadImages = function() { for(var i = 0; i').attr('src', arguments[i]); } };
// Usage $.preloadImages('image1.gif', '/path/to/image2.png', 'some/image3.jpg');

16. Set event handlers for any event that matches a selector
[code]$('button.someClass').live('click', someFunction);
//Note that in jQuery 1.4.2, the delegate and undelegate options have been
//introduced to replace live as they offer better support for context
//For example, in terms of a table where before you would use..
//
.live() $("table").each(function(){ $("td", this).live("hover", function(){ $(this).toggleClass("hover"); }) ; });
//Now use..
$("table").delegate("td", "hover", function(){ $(this).toggleClass("hover"); });

17. Find the selected option element

Copy code The code is as follows:
$('#someElement').find('option:selected' );

18. Hide elements containing specific values

Copy code The code is as follows:
$("p.value:contains('thetextvalue')") .hide();

19. Automatically scroll to a specific area of ​​the page

Copy code The code is as follows:
jQuery.fn.autoscroll = function(selector) { $('html ,body').animate( {scrollTop: $(selector).offset().top}, 500 ); }
//Then to scroll to the class/area you wish to get to like this:
$('.area_name').autoscroll();

20. Detect various browsers

Copy code The code is as follows:
Detect Safari (if( $.browser.safari)), Detect IE6 and over (if ($.browser.msie && $.browser.version > 6 )), Detect IE6 and below (if ($.browser.msie && $.browser.version <= 6 )), Detect FireFox 2 and above (if ($.browser.mozilla && $.browser.version >= '1.8' ))

21. Replace words in string

Copy code The code is as follows:
var el = $('#id'); el.html( el.html().replace(/word/ig, ''));

22. Close the right-click menu

Copy code The code is as follows:
$(document).bind('contextmenu',function(e) { return false; });

23. Define a custom selector

Copy code The code is as follows:
$.expr[':'].mycustomselector = function(element, index, meta, stack){
// element- is a DOM element
// index - the current loop index in stack
// meta - meta data about your selector
// stack - stack of all elements to loop
// Return true to include current element
// Return false to explude current element
};
// Custom Selector usage:
$('.someClasses:test').doSomething();

24. Determine whether an element exists

Copy code The code is as follows:
if ($('#someDiv').length) {
//hooray!!! it exists...
}

25. Use jQuery to determine left and right mouse button clicks

Copy code The code is as follows:
$("#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. Display or delete the default value of the input box

Copy code The code is as follows:
//This snippet will show you how to keep a default value
//in a text input field for when a user hasn't entered in
//a value to replace it
swap_val = [];
$(".swap").each(function(i){ swap_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. Automatically hide or close elements after a specified time (supported in 1.4)

Copy code The code is as follows:
//Here's how we used to do it in 1.3.2 using setTimeout
setTimeout(function() { $('.mydiv').hide('blind', {}, 500) }, 5000);
//And here's how you can do it with 1.4 using the delay() feature (this is a lot like sleep)
$(".mydiv").delay(5000).hide('blind', {}, 500);

28. Dynamically create elements to DOM

Copy code The code is as follows:
var newgbin1Div = $('');
newgbin1Div.attr('id','gbin1.com').appendTo('body');

29. Limit the number of characters in textarea

Copy code The code is as follows:
jQuery.fn.maxLength = function(max){ 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); } }; } }); };
//Usage:
$('#gbin1textarea').maxLength(500);

30. 为函数创建一个基本测试用例

复制代码 代码如下:
//Separate tests into modules.
module("Module B");
test("some other gbin1.com test", function() {
//Specify how many assertions are expected to run within a test. expect(2); //A comparison assertion, equivalent to JUnit's assertEquals.
equals( true, false, "failing test" );
equals( true, true, "passing test" );
});

希望本文所述对大家的jquery程序设计有所帮助。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn