Javascript - Hledat prvky podle jejich ID
Tento tip vám ukáže, jak hledat prvky založené na jejich ID. To je v případě, že druhý odpovídá regulárnímu výrazu.
Problém
Již znáte metodu getElementById (id), která se používá k návratu prvku souvisejícího s určitým ID (protože ID je nutně jedinečná) a metoda getElementsByTagName (tagName), která vrací pole obsahující všechny prvky s uvedenou značkou.
Existují případy, kdy tato řešení nestačí.
Například: máte na svém místě čtverce: když uživatel klikne na tlačítko, každý čtverec změní velikost, každá s novou vlastní velikostí. Takže budete muset mít seznam svých ID, abyste je mohli spravovat. K dispozici jsou dvě řešení:
Pokaždé, když přidáte čtverec, manuálně zvýšíte seznam ID.
Máte smyčku, která prohledává dokument, aby našla čtverce, takže metoda přímo zapadá do kódu. Ale jak načíst všechny ID, s vědomím, že neznáte přesný počet čtverců (ne smyčku) a vy nevíte, kde jsou na stránce?
Řešení
Budeme používat metodu getElementByRegexId. Tato metoda má dva parametry, a to:
Regulární výraz, který odpovídá ID.
[Fac] Název tagu, který má být prohledán. Pokud není uvedeno nic, musí se vzít v úvahu všechny značky.
Princip je jednoduchý: prohledáváme elementy načtené pomocí getElementsByTagName, otestujeme ID a cokoliv, co odpovídá regulárnímu výrazu, přidáme do tabulky:
function getElementsByRegexId (regexpParam, tagParam) {// Si aucun nom de balise n'est spécifié, na cherche sur toutes balises tagParam = (tagParam === nedefinováno)? '*': tagParam; var elementsTable = new Array (); pro (var i = 0; iPříklad:
var divCarres = getElementsByRegexId (/ _ carre. * /, "div"); var tousLesCarres = getElementsByRegexId (/ _ carre. * /);