Home > Web Front-end > JS Tutorial > body text

Summary of jQuery practical function usage_jquery

WBOY
Release: 2016-05-16 16:38:38
Original
1507 people have browsed it

This article summarizes jQuery’s common practical functions in the form of examples. Share it with everyone for your reference. Specific examples are as follows:

1. Trim string

$('#id').val($.trim($('#someid').val()))
Copy after login

2. Traverse the collection

might be written like this:

var anArray = ['one','two'];
for(var n = 0; n < anArray.length; n++){
  
}
Copy after login

It is also possible to write:

var anObject = {one: 1, two: 2};
for(var p in anObject){
  
}
Copy after login

But with the $.each function, you can write it like this:

var anArray = ['one','two'];
$.each(anArray, funtion(n, value){
  
})
var anObject = {one: 1, two: 2};
$.each(anObjct, function(name,value){
  
})

Copy after login

3. Filter array

Use the $.grep() method to filter the array. Let’s first look at the definition of grep method:

grep: function(elems, callback, inv){
  var ret = [], retVal;
  inv = !!inv;
  for(var i = 0; length = elems.length; i < length; i++){
    retVal = !!callback(elems[i],i)
    if(inv !== retVal){
      ret.push(elems[i]);
    }
  }
  return ret;
}

Copy after login

In the above example:
① The second parameter of the grep method is the callback function. The callback function receives two parameters, one is the element of the array, and the other is the index of the array.
② The third parameter inv of the grep method is undefined by default, so !!inv is false, that is, the default value of inv is false

Example 1: int type array

var arr = [1, 2, 3, 4, 5, 6];
arr = $.grep(arr, function(val, index){
  return val > 3;
})
console.log(arr);//结果是:4 5 6
Copy after login

What will be the result if the third parameter of grep is explicitly set to true?

var arr = [1, 2, 3, 4, 5, 6];
arr = $.grep(arr, function(val, index){
  return val > 3;
}, true)
console.log(arr);//结果是:1 2 3

Copy after login

It can be seen that when the third parameter of the grep method is set to true, the array elements that do not meet the callback function will be filtered out.

Example 2: object type array

var arr = [
  {
    first: "Jeffrey",
    last: 'Way'
  },{
    first: 'Allison',
    last: 'Way'
  },{
    first: 'John',
    last: 'Doe'
  },{
    first: 'Thomas',
    last: 'Way'
  };
  arr = $.grep(arr, function(obj, index){
    return obj.last === 'Way';
  });
  console.log(arr);
];
Copy after login

4. Convert array

Use $.map(arr, callback) to call the callback function for each element of the array and return a new array

Add 1 to each element of the array:

var oneBased = $.map([0, 1, 2, 3, 4], function(value){return value +1;})

Copy after login

Convert the string array into an integer array and determine whether the array element is a number:

var strings = ['1', '2', '3','4','S','6'];
var values = $.map(strings, function(value){
  var result = new Number(value);
  return isNaN(result) &#63; null : result;
})

Copy after login

Merge the converted array into the original array:

var chars = $.map(['this','that'], function(value){return value.split(' ')});

Copy after login

5. Return the index of the array element

Use $.inArray(value, array) to return the subscript of the first occurrence of the passed in value, that is, the index.

var index = $.inArray(2, [1, 2, 3]);

Copy after login

6. Convert the object into an array

$.makeArray(object) converts the passed array-like object into a Javascript array.

<div>First</div>
<div>Second</div>
<div>Third</div>
<div>Fourth</div>
<script>
  var elems = document.getElementsByTagName("div");
  var arr = jQuery.makeArray(elems);
  arr.reverse();
  $(arr).appendTo(document.body);
</script>

Copy after login

7. Get an array without duplicate elements

Use $.unique(array) to return an array consisting of unique elements in the original array.

<div>There are 6 divs in this document.</div>
<div></div>
<div class="dup"></div>
<div class="dup"></div>
<div class="dup"></div>
<div></div>
//把到所有div,get方法转换成javascript数组,总共6个div
var divs = $("div").get();
//再把3个class名为dup的div合并到前面的6个div
divs = divs.concat($(".dup").get());
alert(divs.length); //9个div
//过滤去掉重复
divs = jQuery.unqiue(divs);
alert(divs.length);//6个div

Copy after login

8. Merge 2 arrays

$.merge(array1, array2) merges the second array into the first array and returns the first array.

var a1 = [1, 2];
var a2 = [2, 3];
$.merge(a1, a2);
console.log(a1);//[1, 2, 2, 3]

Copy after login

9. Serialize the object into a query string

$.param(params) converts the incoming jquery object or javascript object into string form.

$(document).ready(function(){
 personObj=new Object();
 personObj.firstname="John";
 personObj.lastname="Doe";
 personObj.age=50;
 personObj.eyecolor="blue"; 
 $("button").click(function(){
  $("div").text($.param(personObj));
 });
});

Copy after login

Result: firstname=John&lastname=Doe&age=50&eyecolor=blue

10. Some judgment functions

$.isArray(o) If o is a javascript array, it returns true. If it is an array-like jquery object array, it returns false
$.isEmptyObject(o) Returns true if o is a javascript object that does not contain attributes
$.isFunction(o) returns true if o is a javascript function
$.isPlainObject(o) Returns true if o is an object created through {} or new Object()
$.isXMLDoc(node) If node is an XML document or a node in an XML document, it returns true

11. Determine whether an element is contained in another element

The second parameter of $.contains(container, containee) is contained

$.contains( document.documentElement, document.body ); // true
$.contains( document.body, document.documentElement ); // false

Copy after login

12. Store the value on an element

$.data(element, key, value) The first one is the javascript object, and the second and third ones are the key value.

//得到一个div的javascript对象
var div = $("div")[0];
//把键值存储到div上
jQuery.data(div, "test",{
  first: 16,
  last: 'pizza'
})
//根据键读出值
jQuery.data(div, "test").first
jQuey.data(div, "test").last

Copy after login

13. Remove the value stored on an element

<div>value1 before creation: <span></span></div>
<div>value1 after creation: <span></span></div>
<div>value1 after removal: <span></span></div>
<div>value2 after removal: <span></span></div>
var div = $( "div" )[ 0 ];
//存储值
jQuery.data( div, "test1", "VALUE-1" );
//移除值
jQuery.removeData( div, "test1" );

Copy after login

14. Context of bound function

jQuery.proxy(function, context) returns a new function function, the context is context.

 $(document).ready(function(){
 var objPerson = {
  name: "John Doe",
  age: 32,
  test: function(){
   $("p").after("Name: " + this.name + "<br> Age: " + this.age);
  }
 };
 $("button").click($.proxy(objPerson,"test"));
});

Copy after login

Above, when you click the button, the test method is executed, but the context of the test method is set.

15. Parse JSON

jQuery.parseJSON(json) The type of the first parameter json is a string.

var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );

Copy after login

16. Expression evaluation

Sometimes, if you want a piece of code to be executed in the global context, you can use jQuery.globalEval(code). The type of code is string.

function test() {
 jQuery.globalEval( "var newVar = true;" )
}
test();

Copy after login

17. Dynamic loading script

$(selector).getScript(url,success(response,status)) is used to dynamically load js files. The first parameter is the file path of js. The second parameter is optional and represents the callback for successfully obtaining the js file. .

$.getScript( "ajax/test.js", function( data, textStatus, jqxhr ) {
 console.log( data ); // Data returned
 console.log( textStatus ); // Success
 console.log( jqxhr.status ); // 200
 console.log( "Load was performed." );
});

Copy after login

I believe that what is described in this article has certain reference value for everyone’s jQuery programming.

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template