Is jQuery Still Relevant in 2018?

DOM Selection

$('.someclass')

document.querySelector('.someclass')

document.querySlectorAll('.someclass li')

DOM Manipulation //操作 操纵

$element.remove()

$element.prepend(otherElement)

$element.before(otherElement)

$element.addClass('someClass')

$element.removeClass('someClass')

$element.toggleClass('someClass')

const parent = $element.parent()

const cloned = $element.clone()

Vanilla: //普通的

element.remove()

element.prepend(otherElement)

element.before(otherElement)

element.classList.add('someClass')

element.classList.remove('someClass')

element.classList.toggle('someClass')

element.classList.toggle('someClass')

const parent = element.parentNode

const colined = element.cloneNode(true)

element.prepend(Other)

Events

$someElement.on('click',function(e){

   //Logic

});

someElement.addEventListener('click'.e=>{ 

  //Logic

});

HTTP Requests/Ajax

jQuery was MUCH easier than using the XHR object to make ajax calls.Now we have Fetch and other specialized libraries.

fetch('http://api.something.com')

       .then(res => res.json())

       .then(data => console.log(data))

axios.get('http://api.something.com')

         .then(res => console.log(res,data))

Utilities

$.isArray(someValue)                            Array.isArray(someValue)

$.inArray(item,anArray)                         someArray.indexOf(item) < -1

$.each(someArray,(index,value)=>{})   someArray.forEach((value,index)=>{})

$.map(someArray,(value,index)=>{})    someArray.map((value,index)=>{})

$.grep(someArray,(value,index)=>{})    someArray.filter((value,index)=>{})

$.parseJSON(str)                                    JSON.parse(str)

Animations

Animation with Vanilla JS only is one thing that is MUCH more difficult than with jQuery but there are many other options

·CSS Transitions/Keyframes

·Web Animation API

·3rd party libraries like Greensock

Not about the future but now.

原文地址:https://www.cnblogs.com/eret9616/p/8735281.html