Kutafuta Makosa katika Msimbo na DOM katika JavaScript

Katika kazi zifuatazo programu fulani aliandika msimbo na labda, alifanya makosa ndani yake. Unapaswa kuangalia, je, msimbo unafanya kile kilichoelezewa. Ikiwa msimbo haufanyi kazi sawasawa, unapaswa kurekebisha makosa.

Задание 1

Msimbo unapaswa kuongeza maandishi mwishoni mwa kila aya:

html<p>1</p>
<p>2</p>
<p>3</p>
javascriptlet elems = document.querySelector('p');
elems.textContent += '!';
Задание 2

Kwa kubofya kwenye aya thamani yake inapaswa kuongezeka kwa moja:

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);
  });
}
Задание 3

Kwa kubofya kwenye kifungo maandishi ya aya inapaswa kuwa mazito:

html<p>maandishi</p>
<button>bofya</button>
javascriptlet button = document.querySelector('button');
let elem   = document.querySelector('p');

button.addEventListener('click', function() {
  elem.innerHTML = '<b>elem.innerHTML</b>';
});
Задание 4

Kwa kubofya kwenye kifungo inapaswa kutolewa jumla ya nambari kutoka kwenye aya:

html<p>1</p>
<p>2</p>
<p>3</p>

<button>bofya</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);
});
Задание 5

Kwa kubofya kwenye aya mwishoni mwake inapaswa kuongezwa maandishi yaliyopangwa:

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 += '!';
  });
}
Задание 6

Kwa kubofya kwenye kifungo maandishi ya kila aya inapaswa kuwa mazito:

html<p>maandishi1</p>
<p>maandishi2</p>
<p>maandishi3</p>
<button>bofya</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>';
  }
});
Задание 7

Kwa kubofya kwenye kifungo kwenye konsoli inapaswa kutolewa jumla ya nambari kutoka kwenye aya:

html<p>1</p>
<p>2</p>
<p>3</p>

<button>bofya</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);
  });
}
Задание 8

Kwenye vitingujo vinaingizwa nambari. Kwa kubofya kwenye kifungo kwenye konsoli inapaswa kutolewa jumla ya nambari kutoka kwenye vitingujo:

html<input>
<input>
<input>

<button>bofya</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);
});
Задание 9

Kwenye vitingujo viwili vya kwanza vinaingizwa nambari. Kwa kubofya kwenye kifungo kwenye kitingujo cha tatu inapaswa kutolewa jumla ya nambari hizi:

html<input id="inp1">
<input id="inp2">
<input id="inp3">

<button id="btn">bofya</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;
});
Задание 10

Kwenye vitingujo viwili vya kwanza vinaingizwa nambari. Kwa kubofya kwenye kifungo kwenye aya inapaswa kutolewa jumla ya nambari hizi:

html<input id="inp1">
<input id="inp2">
<p id="res"></p>

<button id="btn">bofya</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;
});
Задание 11

Kwa kubofya kwenye kifungo inahitajika kuangalia, kwamba maandishi kwenye kila kitingujo yanafanana na maandishi ya data attribute yake:

html<input data-text="maandishi1">
<input data-text="maandishi2">
<input data-text="maandishi3">

<button id="btn">bofya</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')
    }
  }
});
Задание 12

Kwa kubofya kwenye kifungo inahitajika kuangalia, kwamba maandishi kwenye kila kitingujo yanafanana na maandishi ya kipengele kinachofanana cha safu:

html<input>
<input>
<input>

<button id="btn">bofya</button>
javascriptlet inputs = document.querySelectorAll('input')
let button = document.querySelector('#button')

let texts = [
  'maandishi1',
  'maandishi2',
  'maandishi3',
];

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')
      }
    }
  }
});
Задание 13

Kwenye vitingujo vinaingizwa nambari. Kwa kubofya kwenye kifungo kwenye konsoli inapaswa kutolewa jumla ya nambari zilizoingizwa nambari:

html<input>
<input>
<input>

<button id="btn">bofya</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);
});
Задание 14

Kwenye vitingujo viwili vya kwanza vinaingizwa nambari. Kwa kubofya kwenye kifungo kwenye kitingujo cha tatu inapaswa kutolewa jumla ya nambari hizi:

html<input id="inp1">
<input id="inp2">
<input id="inp3">

<button id="btn">bofya</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;
});
Задание 15

Kwenye kitingujo kinaingizwa nambari. Kwa kupoteza umakini kwenye konsoli inapaswa kutolewa jumla ya tarakimu za nambari hii:

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);
});