Veakoodide otsimine DOM-iga JavaScriptis
Järgmistes ülesannetes on mõned programmeerijad kirjutanud koodi ja võimalik, et tegid selles vigu. Sa pead kontrollima, kas kood teeb seda, mida on kirjeldatud. Kui kood töötab valesti, pead sa vead parandama.
Kood peaks lisama teksti iga lõigu lõppu:
html<p>1</p>
<p>2</p>
<p>3</p>javascriptlet elems = document.querySelector('p');
elems.textContent += '!';
Lõigule klõpsates peaks selle väärtus suurenema ühe võrra:
html<p>1</p>
<p>2</p>
<p>3</p>javascriptlet elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function() {
this.textContent += Number(1);
});
}
Nupule klõpsates peaks lõigu tekst muutuma paksuks:
html<p>text</p>
<button>click</button>javascriptlet button = document.querySelector('button');
let elem = document.querySelector('p');
button.addEventListener('click', function() {
elem.innerHTML = '<b>elem.innerHTML</b>';
});
Nupule klõpsates peaks väljastuma lõikudes olevate arvude summa:
html<p>1</p>
<p>2</p>
<p>3</p>
<button>click</button>javascriptlet button = document.querySelector('button');
let elems = document.querySelector('p');
button.addEventListener('click', function() {
let sum = 0;
for (let elem of elems) {
sum += Number(elems.textContent);
}
console.log(sum);
});
Lõigule klõpsates peaks selle lõppu lisatama etteantud tekst:
html<p>1</p>
<p>2</p>
<p>3</p>javascriptlet elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', () => {
this.textContent += '!';
});
}
Nupule klõpsates peaks iga lõigu tekst muutuma paksuks:
html<p>text1</p>
<p>text2</p>
<p>text3</p>
<button>click</button>javascriptlet button = document.querySelector('button');
let elems = document.querySelectorAll('p');
button.addEventListener('click', function() {
for (let elem of elems) {
elem.innerHTML = '<b>+elem.innerHTML+</b>';
}
});
Nupule klõpsates peaks konsooli väljastuma lõikudes olevate arvude summa:
html<p>1</p>
<p>2</p>
<p>3</p>
<button>click</button>javascriptlet button = document.querySelector('button');
let elems = document.querySelectorAll('p');
let sum = 0;
for (let elem of elems) {
sum = elem.textContent + 1;
button.addEventListener('click', function() {
console.log(sum);
});
}
Inputitesse sisestatakse numbrid. Nupule klõpsates peaks konsooli väljastuma inputites olevate arvude summa:
html<input>
<input>
<input>
<button>click</button>javascriptlet button = document.querySelector('button');
let elems = document.querySelectorAll('input');
let sum = 0;
for (let elem of elems) {
sum += elem.value;
}
button.addEventListener('click', function() {
console.log(sum);
});
Esimestesse kahte inputitesse sisestatakse numbrid. Nupule klõpsates peaks kolmandasse inputisse väljastuma nende arvude summa:
html<input id="inp1">
<input id="inp2">
<input id="inp3">
<button id="btn">click</button>javascriptlet btn = document.querySelector('#btn');
let inp1 = document.querySelector('#inp1');
let inp2 = document.querySelector('#inp2');
let inp3 = document.querySelector('#inp3');
btn.addEventListener('click', function() {
inp3.textContent = inp1.textContent + inp2.textContent;
});
Esimestesse kahte inputitesse sisestatakse numbrid. Nupule klõpsates peaks lõikusse väljastuma nende arvude summa:
html<input id="inp1">
<input id="inp2">
<p id="res"></p>
<button id="btn">click</button>javascriptlet btn = document.querySelector('btn');
let res = document.querySelector('res');
let inp1 = document.querySelector('inp1');
let inp2 = document.querySelector('inp2');
button.addEventListener('click', function() {
res.value = inp1.value + inp2.value;
});
Nupule klõpsates tuleb kontrollida, kas iga inputi tekst ühtib selle data atribuudiga:
html<input data-text="text1">
<input data-text="text2">
<input data-text="text3">
<button id="btn">click</button>javascriptlet inputs = document.querySelectorAll('input')
let button = document.querySelector('#button')
button.addEventListener('click',function() {
for (let input of inputs) {
if (input.value === input.dataset) {
input.classList.add('right')
} else {
input.classList.add('wrong')
}
}
});
Nupule klõpsates tuleb kontrollida, kas iga inputi tekst ühtib vastava massiivi elemendiga:
html<input>
<input>
<input>
<button id="btn">click</button>javascriptlet inputs = document.querySelectorAll('input')
let button = document.querySelector('#button')
let texts = [
'text1',
'text2',
'text3',
];
button.addEventListener('click',function() {
for (let input of inputs) {
for (let text of texts) {
if (input.value === text) {
input.classList.add('right')
} else {
input.classList.add('wrong')
}
}
}
});
Inputitesse sisestatakse numbrid. Nupule klõpsates peaks konsooli väljastuma sisestatud arvude summa:
html<input>
<input>
<input>
<button id="btn">click</button>javascriptlet inputs = document.querySelectorAll('inputs');
let btn = document.querySelector('#btm');
let sum = 0;
btn.addEventListener('click', function() {
for (let input of inputs) {
sum += Number(input);
}
console.log(sum);
});
Esimestesse kahte inputitesse sisestatakse numbrid. Nupule klõpsates peaks kolmandasse inputisse väljastuma nende arvude summa:
html<input id="inp1">
<input id="inp2">
<input id="inp3">
<button id="btn">click</button>javascriptlet btn = document.querySelector('#btn');
let inp1 = document.querySelector('#inp1');
let inp2 = document.querySelector('#inp2');
let inp3 = document.querySelector('#inp3');
let sum = inp1.value + inp2.value;
btn.addEventListener('click', function() {
inp3.value = sum;
});
Inputisse sisestatakse number. Fookuse kaotamisel peaks konsooli väljastuma selle numbri numbrite summa:
html<input id="inp">javascriptlet inp = document.querySelector('#inp').value;
inp.addEventListener('blur', function() {
let digits = +inp.split('');
let sum = 0;
for (let digit of digits) {
sum += digit;
}
console.log(sum);
});