JavaScriptda DOM elementining murakkab selektorlari

Keling, biron narsani murakkabroq qilaylik. Misol uchun, bizda quyidagi HTML kodi bor deylik:

html<div id="parent">
  <input>
</div>

Keling, #parent blokining ichida joylashgan inputga havolani olaylik:

javascriptlet elem = document.querySelector('#parent input');
console.log(elem);

Ko'rib turganingizdek, biz inputimizni #parent input selektori orqali oldik. Aslida, ushbu CSS selektori #parent ichida joylashgan barcha inputlarga tegishli.

Misol uchun, bizda ikkita shunday input bor deylik:

html<div id="parent">
  <input value="1">
  <input value="2">
</div>

Agar #parent input selektorini CSS kodida yozsak, u ikkala inputimizga ham ta'sir qiladi:

css#parent input {
  color: red;
}

Biroq, querySelector metodi bunday ishlamaydi. U har doim faqat bitta elementni oladi - ko'rsatilgan selektorga mos keladigan birinchi elementni. Keling, buni misolda ko'rib chiqaylik. Bizda elem klassiga ega inputlar bor deylik:

html<input class="elem">
<input class="elem">

Keling, ushbu inputlarning birinchisini olaylik:

javascriptlet elem = document.querySelector('.elem');
console.log(elem); // bu yerda birinchi input bo'ladi
Задание 1

Quyidagi HTML berilgan:

html<div id="block">
  <p>1</p>
  <p>2</p>
</div>

id qiymati block ga teng bo'lgan divdan birinchi abzatsga havolani oling.

Задание 2

Quyidagi HTML berilgan:

html<div class="block">
  <p>1</p>
  <p>2</p>
</div>

block klassiga ega divdan birinchi abzatsga havolani oling.

Задание 3

Quyidagi HTML berilgan:

html<p class="www">text</p>
<p class="www">text</p>

www klassiga ega birinchi abzatsga havolani oling.