Metaniwili ya DOM Element querySelectorAll()

Ufafanuzi na matumizi

querySelectorAll() Inatuma kikamilifu cha mabaki wa kina ya mabaki ambao kina kichaguli cha CSS kwa kikamilifu cha NodeList cha kina.

NodeList

NodeList ni kikamilifu cha jumuiya ya mabaki ya jumuiya (orodha).

Mabaki ya orodha yanaweza kufaa kwa kichwa cha kina (indeksi) kwa kuzingatia. Indeksi inachaguliwa kutoka 0.

Matokeo wa length inaweza kupatikana kwa kichwa cha jumuiya kwenye orodha.

Tazama pia:

Maelezo ya Kiandiko:

Mwili wa classList

Mwili wa className

Kitabu cha kufaa kwa querySelector()

Kitabu cha kufaa kwa getElementsByTagName()

Kitabu cha kufaa kwa getElementsByClassName()

Mafaa wa HTML DOM Style Object

Mafunzo:

Lugha ya CSS

Muungano wa Mzigo wa CSS

Kitabu cha Kuelewa wa Mzigo wa CSS

Mfano

Mfano 1

Kuzingatia rangi ya mabaki wa kwanza ya class="example" ya element ya div:

// Kufaa kwa id="myDIV" ya element (div), na kufaa kwa div ya class="example" ya kila element
var x = document.getElementById("myDIV").querySelectorAll(".example"); 
// Kuzingatia rangi ya mabaki wa kwanza class="example" (indeksi 0) ya element ya div
x[0].style.backgroundColor = "red"; 

Tafadhali, jaribu kwa mafunzo

Msaada:Mafano yote yanaonyeshwa kwenye ukurasa huo chini.

Inayofanywa

element.querySelectorAll(cssSelectors)

Paramani

Paramani Maelezo
cssSelectors

Inayotarajiwa. Mstari. Inasababisha kichaguli cha kina kwa kila au vingine kwa kichaguli.

Kichaguli cha CSS kinahusiana na kichaguli cha HTML kwa id, class, aina, mabaki, matokeo ya mabaki na mengineo.

Kwa uhusiano wa vingine wa kichaguli, tumia kombo kumaliza kila kichaguli.

Msaada:Kwa orodha za kila kichaguli cha CSS, tazama maelezo yetu ya: Kitabu cha Kuelewa wa Mzigo wa CSS.

Vifaa ya Teknolojia

Matokeo:

Mfano wa NodeList ni kikamilifu cha mabaki wa kila mabaki wa kina ambao kina kina cha kichaguli cha CSS

NodeList ni kikamilifu cha jumuiya, kimeangalia badiliko ya DOM kina yake haikupatikana.

Tahadhari:Ikiwa chaguo cha kichaguli cha kina huchukuliwa, inatoka kwa kina ya SYNTAX_ERR

Mashirika ya DOM: Wafungu wa Kibali cha Kivinjati cha 1

Mafano ya kidogo zaidi

Mfano 2

Kufaa kila <div> ya pili kwa kila <p> na kuzingatia rangi ya mabaki wa kwanza <p> (indeksi 0):

// Kupata kitu che kina kwa id="myDIV" (div), kisha kupata vitu vya p vyote kwenye div
var x = document.getElementById("myDIV").querySelectorAll("p"); 
// Kuzingatia rangi ya mabaki wa kwanza <p> (indeksi 0) ya div
x[0].style.backgroundColor = "red";  

Tafadhali, jaribu kwa mafunzo

Mfano 3

Kufaa kila <div> ya kina class="example" kwa kila <p> tili, na kuzingatia mawili wa kwanza <p> ya mabaki:

// 获取 id="myDIV" 的元素(div),然后在 div 中获取所有具有 class="example" 的 p 元素
var x = document.getElementById("myDIV").querySelectorAll("p.example"); 
// 设置 div 中 class="example" 的第一个 

元素 (index 0) 的背景颜色 x[0].style.backgroundColor = "red";

Tafadhali, jaribu kwa mafunzo

例子 4

找出

元素中有多少带有 class="example" 的元素(使用 NodeList 对象的 length 属性):

/* 获取 id="myDIV" 的元素(div),然后获取 div 内所有 class="example" 的 p 元素,返回找到的元素个数 */
var x = document.getElementById("myDIV").querySelectorAll(".example").length;

Tafadhali, jaribu kwa mafunzo

Mfano 5

Weka mizingu wa uraio wa vitu vya class="example" kwenye <div>:

// Kupata kitu che kina kwa id="myDIV" (div), kisha kupata vitu vyote vimepewa kwa class="example" kwenye div
var x = document.getElementById("myDIV").querySelectorAll(".example");
// Kisha kumaliza mjea la for na kuminga rangi ya mabaki ya class="example" kwenye div
var i;
for (i = 0; i < x.length; i++) {
  x[i].style.backgroundColor = "red";
}

Tafadhali, jaribu kwa mafunzo

Mfano 6

Weka mizingu wa uraio wa vitu vya <p> kwenye <div>:

// Kupata kitu che kina kwa id="myDIV" (div), kisha kupata vitu vya p vyote kwenye div
var x = document.getElementById("myDIV").querySelectorAll("p");
// Kisha kumaliza mjea la for na kuminga mabaki ya p kwa kila p kwenye div
var i;
for (i = 0; i < x.length; i++) {
  x[i].style.backgroundColor = "red";
}

Tafadhali, jaribu kwa mafunzo

Mfano 7

Weka mizingu wa uraio wa vitu vya <div> vya kila <a> vitu vimepewa kwa kipya "target":

// kupoa kitu che kina kwa id="myDIV" kinachopewa (div), kisha kupewa vitu vyote vimepewa kwa "target" katika <a> vitu vya div
var x = document.getElementById("myDIV").querySelectorAll("a[target]");
// Pata kufanya kikafungua for na kuminga kati ya <a> zote za <a> zina maelezo ya target
var i;
for (i = 0; i < x.length; i++) {
  x[i].style.border = "10px solid red";
}

Tafadhali, jaribu kwa mafunzo

Mifano 8

Kuminga mabaki ya <div> kwa <h2>, <div> na <span> zote za <div> kwa rangi ya mbali:

// Pata kufa kwa id="myDIV" kwa kufa kwa <div> kwa kufa kwa <h2>, <div> na <span> zote za <div> zaidi
var x = document.getElementById("myDIV").querySelectorAll("h2, div, span");
// Pata kufanya kikafungua for na kuminga mabaki ya <div> kwa <h2>, <div> na <span> zote za <div>
var i;
for (i = 0; i < x.length; i++) {
  x[i].style.backgroundColor = "red";
}

Tafadhali, jaribu kwa mafunzo

Mwongozo wa browser

Inaruhusiwa na namba za kati ya tabia hizi kwa kusimamia kwa browser zilizotumika kwanza.

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
4.0 9.0 3.5 3.2 10.0

Tahadhari:Tafadhali, Internet Explorer 8 inasimamia chaguo cha CSS2. IE9 na vyenginevu vya juu vinasimamia CSS3.

Vivyo vya vya

Mafunzo ya CSS:Muungano wa Mzigo wa CSS

Mafunzo ya CSS:Kitabu cha Kuelewa wa Mzigo wa CSS

Mafunzo ya JavaScript:JavaScript HTML DOM Node List

Mafunzo ya JavaScript:element.querySelector()

Mafunzo ya HTML DOM:document.querySelectorAll()