JavaScript 筆記
紀錄 Javscript 相關筆記
1. 用以下原生的 Javascript 語法來取代 jQyery 語法
Querying the DOM
jQuery('div.html')
document.querySelector('div.home')
document.querySelectorAll('img')
.html()
// 獲取 html
var htmlContent = document.querySelector('.main-div').innerHtml;
// 塞入 html
document.querySelector('.main-div').innerHtml = '<p>Hello World</p>';
.val()
// 取值
var inputValue = document.querySelector('.input-box').value;
// 賦值
document.querySelector('.input-box').value = 'Demo String';
.text()
let textValue = document.querySelector('.main-div').innerText;
Adding/Removing Classes
document.querySelector('#testElement').classList.add('testClass');
document.querySelector('#testElement').classList.remove('testClass')
Adding/Modifying CSS
document.querySelector('#testElement').style.color = '#ffffff';
document.querySelector('#testElement').style.backgroundColor = '#000000';
.attr()
document.querySelector('img').src = '/images/image.png';
document.querySelector('img').getAttribute('data-title');
.show() / .hide()
document.querySelector('.test-element').style.display = 'none';
document.querySelector('.test-element').style.display = 'block';
2. debounce(防抖)
const debounce = (fn, time) => {
let timeout = null;
return function() {
clearTimeout(timeout)
timeout = setTimeout(() => {
fn.apply(this, arguments);
}, time);
}
};
3. throttle(節流)
const throttle = (fn, time) => {
let flag = true;
return function() {
if (!flag) return;
flag = false;
setTimeout(() => {
fn.apply(this, arguments);
flag = true;
}, time);
}
}
