Modifica pathname in capitalize con javascript

PazzoFrontEnd

Utente Attivo
8 Ott 2013
46
0
6
Codice:
  $(document).ready( function() {
     
      capitaliseFirstLetter();

      function capitaliseFirstLetter(){

          var hrefSection = $("a").attr("href");
          var splitHrefSection = hrefSection.split("/");
          var lastPath = splitHrefSection[splitHrefSection.length-1];
        
          var firstLetterSection = lastPath.charAt(0).toUpperCase() + lastPath.slice(1);

         .........
      }
     
  });

Ciao a tutti
ho un attributo href di un'ancora che devo modificare. Ho creato una funzione che mi splitta la stringa (prendendo come elemento "/") e mi crea un array.
Es: http://miosito.it/sezione/sottosezione ---> ['http:', 'miosito.it', 'sezione', 'sottosezione']

Devo prendere sempre l'ultimo elemento dell'array (che corrisponderà sempre all'ultimo elemento del path del mio link) e trasformare SOLO la prima lettera in uppercase. (nel mio esempio: da "sottosezione" a "Sottosezione" con la "S" maiuscola).

L'effetto che desidero è modificare il mio href presente in pagina da "http://miosito.it/sezione/sottosezione" a --> "http://miosito.it/sezione/Sottosezione" e riscriverlo nell'html. Come faccio a sovrascriverlo in questo modo? dovrei riunificare gli elementi splittati con solo l'ultimo modificato e riscrivere l'href...
Grazie, spero di essere stato chiaro nell'esposizione del problema...
buona giornata
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, se non ho capito male puoi provare cosi
HTML:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("a.capitalise").each(function() {
            var split = $(this).attr("href").split("/");
            var last = split.length - 1
            split[last] = split[last].charAt(0).toUpperCase() + split[last].slice(1);
            $(this).attr("href", split.join("/"));
        });
    });
</script>
<a href="http://miosito.it/sezione/sottosezione">link</a>
<a class='capitalise' href="http://miosito.it/sezione/sottosezione1">link 1</a>
<a href="http://miosito.it/sezione/sottosezione2">link 2</a>
verranno modificati solamente i tag <a> con classe "capitalise", in questo modo puoi avere altri link nella pagina senza che vengano modificati
 

PazzoFrontEnd

Utente Attivo
8 Ott 2013
46
0
6
mmm..non funziona.
Se riprendo la mia e integro col tuo codice non va:

Codice:
  $(document).ready( function() {
     
      capitaliseFirstLetter();

      function capitaliseFirstLetter(){

          var hrefSection = $("a").attr("href");
          var splitHrefSection = hrefSection.split("/");
          var lastPath = splitHrefSection[splitHrefSection.length-1];
          var firstLetterSection = lastPath.charAt(0).toUpperCase() + lastPath.slice(1);
        
          $("a").attr("href", splitHrefSection.join("/"));

      }
     
  });

il link resta sempre http://miosito.it/sezione/sottosezione e non diventa http://miosito.it/sezione/Sottosezione
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Il mio se lo provavi cosi com'era funzionava
nel tuo devi sostituire questa riga
Codice:
var firstLetterSection = lastPath.charAt(0).toUpperCase() + lastPath.slice(1);
con questa
Codice:
splitHrefSection[splitHrefSection.length-1] = lastPath.charAt(0).toUpperCase() + lastPath.slice(1);
altrimenti non sovrascrivi l'ultimo elemento dell'array
 

PazzoFrontEnd

Utente Attivo
8 Ott 2013
46
0
6
Grazie Criric! funziona alla grande!

Se posso chiederti un'altra info velocissima: tenendo presente lo stesso concetto, come potrei ricostruirmi il link se al posto di "http://miosito.it/sezione/sottosezione/" avessi una situazione simile a "http://miosito.it/sezione/altra sezione/" da trasformare in "http://miosito.it/sezione/Altra-Sezione/" (ossia con "-" tra le due parole e le lettere maiuscole "A" e "S" delle due parole)?

PS ti chiedo questo perchè potrebbe anche capitare che l'"altra sezione" mi sia stampata in pagina e non provenga da un link già presente, per questo dovrei costruirlo.

buona giornata a tutti!
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Più o meno puoi fare cosi:
splitti l'ultimo elemento del pimo array con lo spazio
Codice:
.split(" ");
se trovi più di un elemento
Codice:
if ( .length > 1)
fai gli uppercase con un ciclo e ricomponi la stringa con il trattino
Codice:
.join("-")
 
Discussioni simili
Autore Titolo Forum Risposte Data
D Jquery - modifica elemenento onlick jQuery 1
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
JeiMax Modifica codice php personalizzato PHP 2
P Pagina modifica record che non funziona PHP 0
L Modifica file upload in ASP Classic ASP 2
P modifica colore A Hover link website . WordPress 2
P Modifica con PHP di un node in una sitemap xml PHP 0
C Software modifica sitoweb in tempo reale WordPress 12
G Modifica immagine di sfondo attraverso un bottone PHP 18
L modifica dati. PHP 1
G modifica corretta funzione da eregi() a preg_match() PHP 3
R Modifica codice per l'upload di più file PHP 1
G Modifica testo Photoshop 3
felino Excel: popolare una cella con la data di modifica della riga a cui appartiene Windows e Software 3
felino [Wordpress] Modifica main color del template WordPress 8
M [PHP] Modifica account PHP 3
S [OFFRO] Creazione di programmi per la modifica automatizzata di testi Offerte e Richieste di Lavoro e/o Collaborazione 0
S [OFFRO] Rimozione o aggiunta di Password ai file PDF e opzionalmente loro modifica Offerte e Richieste di Lavoro e/o Collaborazione 2
F [PHP] modifica del body email con checked PHP 8
G Modifica da sito statico HTML a dinamico in Wordpress SEO e Posizionamento 1
Cosina Modifica script textarea jQuery 0
M [PHP] Calcolare costi su modifica orari PHP 4
A [PHP] Modifica caratteri di una query Oracle SQL PHP 0
F modifica recensione google Discussioni Varie 2
C Photoshop CS 6 salvare una modifica Photoshop 0
L [PHP] Modifica in tabella ultimo id PHP 5
C Pagina fb notifica modifica post Social Media Marketing 1
Q Notice: Undefined index: codice in C:\xampp\htdocs\STAGE\calendario\modifica.php on line 10 PHP 8
C [Joomla] [HTML] Modifica codice per adattamento app Joomla 18
Daniele_Carrara [Javascript] Modifica input date Javascript 5
J modifica spooler di stampa per stampare in ordine di nome i files pdf Windows e Software 2
Emix [PHP] Ricerca e modifica su due tabelle PHP 26
M [PHP] Tabella datagrid con icona di modifica che cambia in base a parametro PHP 0
Andrea1981 [WordPress] [HTML] Help modifica credits nel footer.Tema Customizr. WordPress 5
K [Visual Basic] Stampa e modifica record non funziona più Visual Basic 0
K [ASP.Net] Problema stampa e modifica ms sql ASP.NET 0
K stampa e modifica tabella in php e ms sql PHP 2
Michaelweb93 [WordPress] [HTML] Modifica sezione - pagina sito web WordPress 1
A [PHP] [RISOLTO] Modifica record db da form PHP 11
T [PHP] piccola modifica a script (non mio...) PHP 8
P Cerco programmatore per modifica sito wordpress Offerte e Richieste di Lavoro e/o Collaborazione 4
Z Modifica ricorsiva file html HTML e CSS 3
Trapano [PHP] modifica simultanea di più campi nel db PHP 1
K [CERCO] Programmatore per modifica tema wp Offerte e Richieste di Lavoro e/o Collaborazione 2
U modifica sender-receiver email Posta Elettronica 4
W modifica firma Supporto Mr.Webmaster 20
M Modifica parametro mysql_result($result, $i, 'id') Deprecato dal 5.5 PHP 10
X modifica contemporanea di record MS Access 6
J [WP] Chiarimenti modifica campo WordPress 0
A Form per modifica record database PHP 9

Discussioni simili