Maciej
Szczepański
www, marketing,
reklama
Temat: Dodawanie rozszerzenia jako klasy
Witam, chciałbym pobrać rozszerzenie pliku i podstawić je do <a> jako klasę. Napisałem coś takiego ale pogubiłem się i nie wiem gdzie mam błąd.Kod
Maciej Szczepański edytował(a) ten post dnia 01.12.11 o godzinie 19:58
var fileTypes = {
doc: 'doc',
xls: 'xls',
pdf: 'pdf'
};
$.each(fileTypes, function(extension,image) {
$('a[href$="' + extension + '"]').addClass(function() {
$(' + extension + ');
});
});
Rafał Krupiński .koder
Temat: Dodawanie rozszerzenia jako klasy
Może coś w ten deseń:http://jsfiddle.net/GAyHw/1/rafał krupiński edytował(a) ten post dnia 01.12.11 o godzinie 20:30
Maciej
Szczepański
www, marketing,
reklama
Temat: Dodawanie rozszerzenia jako klasy
Świetnie!A jak zrobić addClass? Teraz jeśli <a> ma jakąś klasę to jQ podmienia ją a wolałbym aby dodawał nową.
Rafał Krupiński .koder
Temat: Dodawanie rozszerzenia jako klasy
Hmm... można np sprawdzić czy element nie ma już przypadkiem takiej klasy i dopisać ją:http://jsfiddle.net/GAyHw/2/
Maciej
Szczepański
www, marketing,
reklama
Temat: Dodawanie rozszerzenia jako klasy
Ok i jeszcze jedna rzecz mi przyszła do głowy. Co bedzie jak np. dodam plik nowego worda? On ma rozszerzenie "docx" czyli 4 znaki."href.length - 3, 3" chyba tutaj nie zadziała, prawda?
Rafał Krupiński .koder
Temat: Dodawanie rozszerzenia jako klasy
Nie* :) W przykładzie, który podałem jest chyba najprostsze sprawdzenie z możliwych.* - tzn będzie działać, ale test będzie dla stringa 'ocx' i taką klasę dostanie link. Nie urządza Cię to? :)
Maciej
Szczepański
www, marketing,
reklama
Temat: Dodawanie rozszerzenia jako klasy
W sumie racja ;)Ten przykład z dopisaniem klasy coś mi nie działa..
http://jsfiddle.net/GAyHw/2/
Rafał Krupiński .koder
Temat: Dodawanie rozszerzenia jako klasy
Aj, rzeczywiście.W tablicy ze 'znanymi' rozszerzeniami musi się wtedy znaleźć 'ocx' (nie 'docx').
Maciej
Szczepański
www, marketing,
reklama
Temat: Dodawanie rozszerzenia jako klasy
rafał krupiński:
Aj, rzeczywiście.
W tablicy ze 'znanymi' rozszerzeniami musi się wtedy znaleźć 'ocx' (nie 'docx').
Nie, bez tego tez mi nie działa...
Lidia Wilczyńska Web Developer
Temat: Dodawanie rozszerzenia jako klasy
weź też pod uwagę, że getElementsByTagName zwraca NodeList, który w niektórych przeglądarkach (ie) nie wpadnie do tego for-a...a skoro już chcesz przez substringa wyciagac rozszerzenie pliku (brrr), to mozesz splitować hrefa po kropkach i wziac ostatni element powstalej tablicy albo znaleźć lastIndexOf('.') i wyciac do konca...Lidia Wilczyńska edytował(a) ten post dnia 01.12.11 o godzinie 21:46
Maciej
Szczepański
www, marketing,
reklama
Temat: Dodawanie rozszerzenia jako klasy
Kurcze generalnie problem mam z dodaniem "+ image +". Napisałem coś takiego żeby zamiast klasy podstawiał się styl. I działa.
var fileTypes = {
doc: 'doc.gif',
xls: 'xls.gif',
pdf: 'pdf.gif'
};
$.each(fileTypes, function(extension,image) {
$('a[href$="' + extension + '"]').
css({
paddingLeft: '20px',
paddingTop: '2px',
paddingRight: '0px',
background: 'transparent url("http://www.bisztrai.com/wp-content/themes/wp-framework/library/media/images/' + image + '") no-repeat center left'
});
});
Teraz jak zamiast ".css" zrobic ".addClass". Jestem na stronie jQuery i nie ma tam wyjaśnienia. No chyba że źle szukam...
Lidia Wilczyńska Web Developer
Temat: Dodawanie rozszerzenia jako klasy
oh God.twój poprzedni kod (do podmiany klasy CSS):
$('a[href$="' + extension + '"]').addClass(function() {
$(' + extension + ');
});
po przeróbce
$('a[href$="' + extension + '"]').addClass(fileTypes[extension]);
hmm?Lidia Wilczyńska edytował(a) ten post dnia 01.12.11 o godzinie 22:03
Rafał Krupiński .koder
Temat: Dodawanie rozszerzenia jako klasy
Lidia Wilczyńska:
weź też pod uwagę, że getElementsByTagName zwraca NodeList, który w niektórych przeglądarkach (ie) nie wpadnie do tego for-a...
ie9, 8(tryb) i 7(tryb) wpada
a skoro już chcesz przez substringa wyciagac rozszerzenie pliku (brrr), to mozesz splitować hrefa po kropkach i wziac ostatni element powstalej tablicy albo znaleźć lastIndexOf('.') i wyciac do konca...
biorąc ostatnią pozycję po splicie i tak zakładasz, że w linku nie ma parametru z '.' w środku...
Maciej
Szczepański
www, marketing,
reklama
Temat: Dodawanie rozszerzenia jako klasy
Lidia Wilczyńska:
oh God.
twój poprzedni kod (do podmiany klasy CSS):
$('a[href$="' + extension + '"]').addClass(function() {
$(' + extension + ');
});
po przeróbce
$('a[href$="' + extension + '"]').addClass(fileTypes[extension]);
hmm?
Yeah! Dokładnie o to chodziło.
Bóg zapłać, całuję raczki.
Lidia Wilczyńska Web Developer
Temat: Dodawanie rozszerzenia jako klasy
rafał krupiński:
Lidia Wilczyńska:
weź też pod uwagę, że getElementsByTagName zwraca NodeList, który w niektórych przeglądarkach (ie) nie wpadnie do tego for-a...
ie9, 8(tryb) i 7(tryb) wpada
Juz nie chcę flejmować, bo autor znalazł co chciał, ale...
ufasz trybom zgodnosci ie9 przy sprawdzaniu kompatybilnosci wstecznej? Oj... to zdecydowanie nie jest dobry pomysł
a skoro już chcesz przez substringa wyciagac rozszerzenie pliku (brrr), to mozesz splitować hrefa po kropkach i wziac ostatni element powstalej tablicy albo znaleźć lastIndexOf('.') i wyciac do konca...
biorąc ostatnią pozycję po splicie i tak zakładasz, że w linku nie ma parametru z '.' w środku...
zakladam, tak jak i Ty zalozyles w swoim algorytmie, po prostu wymyslam jego altenatywna wersje, zamiast proponowac nowy ;P Whatever
Rafał Krupiński .koder
Temat: Dodawanie rozszerzenia jako klasy
Lidia Wilczyńska:
Juz nie chcę flejmować, bo autor znalazł co chciał, ale...
ufasz trybom zgodnosci ie9 przy sprawdzaniu kompatybilnosci wstecznej? Oj... to zdecydowanie nie jest dobry pomysł
Abyś lepiej spała - działa też w natywnych, z szóstką włącznie.
zakladam, tak jak i Ty zalozyles w swoim algorytmie, po prostu wymyslam jego altenatywna wersje, zamiast proponowac nowy
Żeby 'poflejmować' ?
Pozdrawiam :>
Lidia Wilczyńska Web Developer
Temat: Dodawanie rozszerzenia jako klasy
rafał krupiński:Wkleiłam wczoraj Twój pierwszy kod z JSperfa i wywalił mi błedy w ie8 ;) fakt - moje niedopatrzenie - błedy nie wynikały z iteracji po nodelist tylko z tego ifa w środku.
Lidia Wilczyńska:
Juz nie chcę flejmować, bo autor znalazł co chciał, ale...
ufasz trybom zgodnosci ie9 przy sprawdzaniu kompatybilnosci wstecznej? Oj... to zdecydowanie nie jest dobry pomysł
Abyś lepiej spała - działa też w natywnych, z szóstką włącznie.
Nie, żeby ulepszyć Twoje rozwiązanie i nie głowić się nad lepszym ;)zakladam, tak jak i Ty zalozyles w swoim algorytmie, po prostu wymyslam jego altenatywna wersje, zamiast proponowac nowy
Żeby 'poflejmować' ?
Pozdrawiam :>Peace ;)Lidia Wilczyńska edytował(a) ten post dnia 02.12.11 o godzinie 18:57
Rafał Krupiński .koder
Temat: Dodawanie rozszerzenia jako klasy
Lidia Wilczyńska:
rafał krupiński:Wkleiłam wczoraj Twój pierwszy kod z JSperfa i wywalił mi błedy w ie8 ;) fakt - moje niedopatrzenie - błedy nie wynikały z iteracji po nodelist tylko z tego ifa w środku.
Lidia Wilczyńska:
Juz nie chcę flejmować, bo autor znalazł co chciał, ale...
ufasz trybom zgodnosci ie9 przy sprawdzaniu kompatybilnosci wstecznej? Oj... to zdecydowanie nie jest dobry pomysł
Abyś lepiej spała - działa też w natywnych, z szóstką włącznie.
Nie, żeby ulepszyć Twoje rozwiązanie i nie głowić się nad lepszym ;)zakladam, tak jak i Ty zalozyles w swoim algorytmie, po prostu wymyslam jego altenatywna wersje, zamiast proponowac nowy
Żeby 'poflejmować' ?
Pozdrawiam :>Peace ;)
Peace ;)
