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.
#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/
Zjistit počet nových příspěvků
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.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 6 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