Jquery zamenjava določenega href linka
 
EDsolution 12. okt 2010 17:03:54 Pridružen od:
25. jul 2010
483 objav
399 171 26
#1

Zdravo,

zanima me, če mi lahko pomagate pri naslednjem problemu.



V htmlju se generira tale povezava:


<a href="single-oglas/items/10.html"></a>

Rad pa bi z jQuery-jom zamenjal samo "single-oglas" z "public-oglas".



Sem probal že vrsto "skript" vendar nikakor ne morem usposobiti.



Hvala.


všeč(0) ni všeč(0) spam(0)
EDsolution.si, spletne storitve - Izdelava spletnih strani
Vremensko okno - Vreme widget - 1A-vreme.si
 
Vini 12. okt 2010 17:18:25 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#2

Nekaj v stilu:


$('a').each(function() {
var e = $(this);
e.attr('href', e.attr('href').replace('single-oglas', 'public-oglas'));
});

Nisem stestiral, poskusi :)


všeč(2) ni všeč(0) spam(0)
 
SpinX 12. okt 2010 17:24:49 Pridružen od:
17. mar 2007
2618 objav
1720 190 20
#3

v jQuery lahko targeriraš tudi po href:


$('a[href="single-oglas/items/10.html"]').each(function(index) {

});

edit: Vini prehitu :)


všeč(2) ni všeč(0) spam(0)
Developer? Bi delal v kul podjetju ? http://dlabs.si/jobs
 
Vini 12. okt 2010 17:31:32 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#4

SpinX ima prav, ampak v primeru, da imaš več različnih povezav, ki se vse začnejo z "single-oglas", bi to lahko sfiltriral takole:


$('a[href^="single-oglas"]').each(function() {
var e = $(this);
e.attr('href', e.attr('href').replace('single-oglas', 'public-oglas'));
});

Še pojasnilo, da te naučimo loviti ribe, operator ^= je "starts with" :)


všeč(3) ni všeč(0) spam(0)
 
EDsolution 12. okt 2010 19:26:06 Pridružen od:
25. jul 2010
483 objav
399 171 26
#5

Zdravo,

hvala za hitro pomoč, vendar nič od navedenega ne deluje.



Pozabil sem pa tudi prej omeniti, vendar me je Vini prebral v razmišljanju, od "single-oglas"/ naprej je generični del.


všeč(0) ni všeč(0) spam(0)
EDsolution.si, spletne storitve - Izdelava spletnih strani
Vremensko okno - Vreme widget - 1A-vreme.si
 
Vini 12. okt 2010 19:52:00 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#6

Verjetno zadevo vtikaš v <head>, kajne? Tam DOM še ni ready, pa se nič ne zgodi. Poskusi takole:


$(document).ready(function() {
$('a[href^="single-oglas"]').each(function() {
var e = $(this);
e.attr('href', e.attr('href').replace('single-oglas', 'public-oglas'));
});
});

Več o tem, kar sem naredil, si lahko prebereš tukaj.


všeč(0) ni všeč(0) spam(0)
 
EDsolution 12. okt 2010 19:59:14 Pridružen od:
25. jul 2010
483 objav
399 171 26
#7

Zdravo,

sem uspel narediti s tem.


$(document).ready(function() {
var lnk = $('div.link16 a').attr("href");
$('div.link16 a').attr("href",lnk.replace('single-oglas','vsi-oglasi-podjetja'));
});

Hvala za vso pomoč, je prišla prav ;)


všeč(0) ni všeč(0) spam(0)
EDsolution.si, spletne storitve - Izdelava spletnih strani
Vremensko okno - Vreme widget - 1A-vreme.si
 
EDsolution 13. okt 2010 07:55:28 Pridružen od:
25. jul 2010
483 objav
399 171 26
#8

Vini sem uporabil tvojo izvedbo, ker z mojo ni več generičnega linka gradilo, ampak je vedno uporabilo prvi item.



Hvala.


všeč(0) ni všeč(0) spam(0)
EDsolution.si, spletne storitve - Izdelava spletnih strani
Vremensko okno - Vreme widget - 1A-vreme.si
 
Vini 13. okt 2010 07:59:31 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#9

Aha, vidiš, pa res, nisem prej opazil. Skrivnost je v .each(), da boš vedel kje si ga pri svoji verziji polomil :)


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se