Олег Мохов
Из этой лекции можно сделать отдельный курс, а мы пробежим по верхам, т.к есть реакт
Это не значит что всё эти знания вам не пригодятся
<div>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
document.getElementsByClassName('class class2')не вернет
<div class="class class2">
var menu = document.querySelectorAll('.menu')[0];
var listItems = menu.querySelectorAll('li');
document.querySelector('.class.class2')вернет
<div class="class class2">
var div = document.querySelector('div');
console.log(div); // <div>Привет</div>
div.innerHTML = 'Hi!'
console.log(div); // <div>Hi!</div>
div.outerHTML = '<div>Здарова</div>'
console.log(div) // <div>Hi!</div>
var div = document.createElement('div');
div.className = "alert alert-success";
div.innerHTML = "Ура!";
- 0
- 1
- 2
<script>
var newLi = document.createElement('li');
newLi.innerHTML = '3';
// newLi.appendChild(document.createTextNode('3'))
list.appendChild(newLi);
</script>
- 0
- 1
- 2
<script>
var newLi = document.createElement('li');
newLi.innerHTML = '0.5';
list.insertBefore(newLi, list.children[1]);
</script>
Щелкни меня
var li = document.getElementByTagName('li')[0];
li.onclick = function () { alert('привет'); }
li.addEventListener('click', () => {
alert('привет');
});
var li = document.getElementByTagName('li')[0];
li.addEventListener('click', ()=>alert('привет'));
// не работает
li.removeEventListener('click', ()=>alert('привет'));
var li = document.getElementByTagName('li')[0];
var onClickHandler = () => {
alert('привет');
}
li.addEventListener('click', onClickHandler);
li.removeEventListener('click', onClickHandler);
var li = document.getElementByTagName('li')[0];
var onClickHandler = (event) => {}
li.addEventListener('click', onClickHandler);
li.removeEventListener('click', onClickHandler);
var links = document.querySelectorAll('.menu a');
var clicked = {};
var onClick = function () {
clicked[this.href] = clicked[this.href] || 0;
clicked[this.href]++;
console.log(clicked);
};
for (var i = 0; i < links.length; i++) {
links[i].addEventListener('click', onClick);
}
var menu = document.querySelector('.menu');
var clicked = {};
var onClick = function (e) {
var href = e.target.href;
clicked[href] = clicked[href] || 0;
clicked[href]++;
console.log(clicked);
};
menu.addEventListener('click', onClick);
var menu = document.querySelector('.menu');
var clicked = {};
var onClick = function (e) {
if (e.target.nodeName !== 'A') return;
var href = e.target.href;
clicked[href] = clicked[href] || 0;
clicked[href]++;
console.log(clicked);
};
menu.addEventListener('click', onClick);
var menu = document.querySelector('input');
var onKeyDown = function (e) {
var text = e.target.value;
makeRequest(text, function (response) {
showSuggest(response); <-
});
};
menu.addEventListener('keydown', onKeyDown);
function debounce(func, wait, immediate) {
var timeout;
return function() {
var context = this, args = arguments;
var later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) func.apply(context, args);
};
};
var menu = document.querySelector('input');
var onKeyDown = debounce(function (e) {
var text = e.target.value;
makeRequest(text, function (response) {
showSuggest(response);
});
}, 300);
menu.addEventListener('keydown', onKeyDown);
Asynchronous JavaScript + XML
new Fetch('https://mysite.com/getdata')
.then((response) => console.log(response));