Virheiden etsiminen DOM-koodista JavaScriptissä
Seuraavissa tehtävissä eräs ohjelmoija on kirjoittanut koodia ja mahdollisesti tehnyt siinä virheitä. Sinun tulee tarkistaa, tekeekö koodi sen, mitä on kuvattu. Jos koodi toimii väärin, sinun tulee korjata virheet.
Koodin tulisi lisätä teksti jokaisen kappaleen loppuun:
html<p>1</p>
<p>2</p>
<p>3</p>javascriptlet elems = document.querySelector('p');
elems.textContent += '!';
Klikkaamalla kappaletta sen arvon tulisi kasvaa yhdellä:
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);
});
}
Klikkaamalla painiketta kappaleen tekstin tulisi tulla lihavoiduksi:
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>';
});
Klikkaamalla painiketta tulisi näyttää kappaleiden numeroiden 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);
});
Klikkaamalla kappaletta sen loppuun tulisi lisätä annettu teksti:
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 += '!';
});
}
Klikkaamalla painiketta jokaisen kappaleen tekstin tulisi tulla lihavoiduksi:
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>';
}
});
Klikkaamalla painiketta konsoliin tulisi tulostua kappaleiden numeroiden 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);
});
}
Input-kenttiin syötetään numeroita. Klikkaamalla painiketta konsoliin tulisi tulostua input-kenttien numeroiden 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);
});
Kahteen ensimmäiseen input-kenttään syötetään numeroita. Klikkaamalla painiketta kolmanteen input-kenttään tulisi näyttää näiden numeroiden 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;
});
Kahteen ensimmäiseen input-kenttään syötetään numeroita. Klikkaamalla painiketta kappaleeseen tulisi näyttää näiden numeroiden 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;
});
Klikkaamalla painiketta tulee tarkistaa, että jokaisen input-kentän teksti vastaa sen data-attribuutin tekstiä:
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')
}
}
});
Klikkaamalla painiketta tulee tarkistaa, että jokaisen input-kentän teksti vastaa vastaavan taulukkoelementin tekstiä:
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')
}
}
}
});
Input-kenttiin syötetään numeroita. Klikkaamalla painiketta konsoliin tulisi tulostua syötettyjen numeroiden 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);
});
Kahteen ensimmäiseen input-kenttään syötetään numeroita. Klikkaamalla painiketta kolmanteen input-kenttään tulisi näyttää näiden numeroiden 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;
});
Input-kenttään syötetään numero. Kun kenttä menettää fokuksin, konsoliin tulisi tulostua tämän numeron numeroiden 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);
});