Ahoj,
zajímalo by mne, jak by se dala vytvořit metoda documentu.
Např. document.getElementsByWidth(nejakecislo jednotka) ...příklad : document.getElementsByWidth(55 px)
Šlo by toho nějak jednoduše dosáhnout? Vím, že jQuery určitě něco takového nabízí,mně jde však oprincip, jak se to vůbec dělá?
Díky
Fórum › JavaScript, AJAX, jQuery
Napsání vlastní metody
Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
![](img/forum_vlakno_help_vyreseno.png)
![Příspěvek byl označen jako nejlepší odpověď / řešení Řešení](img/forum_psp_reseni.png)
#1 Carduus
Využiješ funkciu getComputedStyle. Je tam pár nepresností, ako napríklad, že podobné funkcie nevracajú Array, ale živú kolekcie typu NodeList, a pod. Myslím, že princíp je jasný.
document.getElementsByWidth = function(width, units) {
var elements = this.getElementsByTagName("*"),
chosenElements = [];
for(var i=elements.length-1; i>=0; --i) {
var style = getComputedStyle(elements[i]);
// zistíš si z objektu "style" hodnotu vlastnosti width
// všeobecne môžeš o objekte zistiť hocičo
chosenElements.push(elements[i]);// ak vyhovuje tak ho pridáš
}
return chosenElements;
};
Objekt document můžeš taky prototypovat (přidávat metody) podobně, jako jsem popsal v tomto článku - http://programujte.com/…pt-11-lekce/
![](img/forum_nove_psp_new.png)
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×![](/img/smile/1.gif)
![](/img/smile/2.gif)
![](/img/smile/3.gif)
![](/img/smile/4.gif)
![](/img/smile/5.gif)
![](/img/smile/6.gif)
![](/img/smile/7.gif)
![](/img/smile/8.gif)
![](/img/smile/9.gif)
![](/img/smile/10.gif)
![](/img/smile/11.gif)
![](/img/smile/12.gif)
![](/img/smile/13.gif)
![](/img/smile/14.gif)
![](/img/smile/15.gif)
![](/img/smile/16.gif)
![](/img/smile/17.gif)
![](/img/smile/18.gif)
![](/img/smile/19.gif)
![](/img/smile/20.gif)
![](/img/smile/21.gif)
![](/img/smile/22.gif)
![](/img/smile/23.gif)
![](/img/smile/24.gif)
![](/img/smile/25.gif)
![](/img/smile/26.gif)
![](/img/smile/27.gif)
![](/img/smile/28.gif)
![](/img/smile/29.gif)
![](/img/smile/30.gif)
![](/img/smile/31.gif)
![](/img/smile/1.gif)
![](/img/smile/2.gif)
![](/img/smile/3.gif)
![](/img/smile/4.gif)
![](/img/smile/5.gif)
![](/img/smile/6.gif)
![](/img/smile/7.gif)
![](/img/smile/8.gif)
![](/img/smile/9.gif)
![](/img/smile/10.gif)
![](/img/smile/11.gif)
![](/img/smile/12.gif)
![](/img/smile/13.gif)
![](/img/smile/14.gif)
![](/img/smile/15.gif)
![](/img/smile/16.gif)
![](/img/smile/17.gif)
![](/img/smile/18.gif)
![](/img/smile/19.gif)
![](/img/smile/20.gif)
![](/img/smile/21.gif)
![](/img/smile/22.gif)
![](/img/smile/23.gif)
![](/img/smile/24.gif)
![](/img/smile/25.gif)
![](/img/smile/26.gif)
![](/img/smile/27.gif)
![](/img/smile/28.gif)
![](/img/smile/29.gif)
![](/img/smile/30.gif)
![](/img/smile/31.gif)
![](/img/smile/32.gif)
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 17 hostů
Podobná vlákna
Vlastní anotace pro metody pro spuštění ve vlastním vlákně — založil ingiraxo
Grafický editor - napsáni v Javě — založil Kerel
Napsání procedury pro ACCESS 2002 — založil Pepa
Napsání vlastního iterátoru pro třídu — založil DooFy93
PRÁCE: napsaní programu na zakázku. (plánování směn ...) — založil Pavel
Moderátoři diskuze