jQuery to native js

Блог Фрилансера 22 лист. 2020 р.
 jQuery to native js

Ajax 


get

$.ajax({
    url: "data.json"
  }).done(function(data) {
    // ...
  }).fail(function() {
    // Handle error
  });
//fetch
fetch("data.json")
  .then(data => {
    // Handle data
  }).catch(error => {
    // Handle error
});

//XMLHttpRequest
var request = новий XMLHttpRequest();
request.open('GET', 'data.json', true);

request.onload = function() {
  if (this.status >= 200 && this.status < 400) {
    // Success!
    var data = JSON.parse(this.response);
  } else {
    / / We reached our target server, але it returned an error

  }
};

request.onerror = function() {
  // There was a connection error of деякий sort
};

request.send();

POST 

$.ajax({
  type: 'POST',
  URL: '/my/url',
  data: data
});
//https://learn.javascript.ru/fetch
fetch('/my/url', {
        method: 'post',
        body: formData
}).then(data => {
   //data.json() , data.text(),...
  }).catch(error => {
    // Handle error
});


//============================
//XMLHttpRequest
var request = новий XMLHttpRequest();
request.open('POST', '/my/url', true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.send(data);

 


Ефекти

// Вибираємо всі елементи .box
$(".content");
// Натомість, ми можемо вибрати перший елемент з .content
document.querySelector(".content");

// …або вибрати всі елементи .content
document.querySelectorAll(".content");

Fade In

 $(el).fadeIn();
el.classList.add('show');
el.classList.remove('hide');

/*
.show {
  transition: opacity 400ms;
}
.hide {
  opacity: 0;
}

*/

// приклад

document.querySelector(".content").classList.add('show')
document.querySelector(".content").classList.add('hide')  

Fade Out

$(el).fadeOut();
el.classList.add('hide');
el.classList.remove('show');

/* add css
.show {
  opacity: 1;
}
.hide {
  opacity: 0;
  transition: opacity 400ms;
}

*/

//example

document.querySelector(".content").elem.classList.add('hide')
document.querySelector(".content").elem.classList.add('show')

Hide/Show

$(el).hide();

el.style.display = 'none';

//=======
$(el).show();

el.style.display = '';

Елементи


AddClass

// jquery
$(el).addClass(className);
// js
el.classList.add(className);

After

$(target).after(element);

// js

target.insertAdjacentElement('afterend', element);

Append

$(parent).append(el);

//js

parent.appendChild(el);

Before

$(target).before(element);

//js
target.insertAdjacentElement('beforebegin', element);

Children

$(el).children();

//js
el.children

Each

$(selector).each(function(i, el){

});
var elements = document.querySelectorAll(selector);
Array.prototype.forEach.call(elements, function(el, i){

});

Find 

$(el).find(selector);

// js
el.querySelectorAll(selector);

Attr

$(el).attr('tabindex');

// js
el.getAttribute('tabindex');

Height

$(el).height();


//js
parseFloat(getComputedStyle(el, null).height.replace("px", ""))

Width

$(el).width();

//js
parseFloat(getComputedStyle(el, null).width.replace("px", ""))

Has class 

$(el).hasClass(className);

// js
el.classList.contains(className);

Prepend

$(parent).prepend(el);

//js
parent.insertBefore(el, parent.firstChild);

Remove

$(el).remove();

//js
el.parentNode.removeChild(el);

Remove Attributes

$(el).removeAttr('tabindex');

//js
el.removeAttribute('tabindex');

Remove Class

$(el).removeClass(className);

//js
el.classList.remove(className);

Set Attributes

$(el).attr('tabindex', 3);

//js
el.setAttribute('tabindex', 3);

Set Style

$(el).css('border-width', '20px');

//js
el.style.borderWidth = '20px';

Set Text

$(el).text(string);

//js
el.textContent=string;

Toggle Class

$(el).toggleClass(className);

//js
el.classList.toggle(className);

EVENTS

$(".button").click(function(e) { /* handle click event */ });

$(".button").mouseenter(function(e) { /* handle click event */ });

$(document).keyup(function(e) { /* handle key up event */ });
document.querySelector(".button").addEventListener("click", (e) => { /* ... */ });

document.querySelector(".button").addEventListener("mouseenter", (e) => { /* ... */ });

document.addEventListener("keyup", (e) => { /* ... */ });

// щоб повідомити подію на всі знайдені елементи

document.querySelectorAll(".button").forEach(element=> element .addEventListener("click", (e) => { console.log(e) }));