2010-08-18 6 views
0

cela semble vraiment simple et stupide .. mais j'ai du mal à supprimer le contenu avant chaque tiret de chaque élément H4 sur ma page .... j'ai essayé de faites ceci avec Jquery/Javascript .. Un aperçu?Enlever tout avant le tiret de chaque balise H4

Voici un échantillon de mon code HTML:

<h4>California-Medical Research</h4> 
<h4>Florida-Industrial</h4> 
<h4>Atlanta-Computers</h4> 

Je suis en train d'avoir mon cycle de code à travers chaque occurance de <h4> et enlever tout avant le tableau de bord ... de sorte que le résultat souhaité ressemblera à ceci :

recherche médicale
industriels
Ordinateurs

Merci!

Répondre

2

En supposant que votre mise en page est conforme avec des tirets, vous pouvez le faire:

​$("h4").text(function(i, t) { return t.substring(t.indexOf('-') + 1); });​​​​​​​​​ 

Depuis jQuery 1.4+ .text() prend fonction, ce qui rend ce très propre. You can give it a try here.

+0

J'ai essayé. Cela fonctionne, mais dans IE cela ne semble pas fonctionner! Des idées? –

+0

@Andrew - Quelle version d'IE? La démo fonctionne ici dans IE8 ... êtes-vous sûr qu'il n'y a pas d'erreur * other *, et est-ce que cela fonctionne dans un wrapper 'document.ready'? –

+0

Je viens de régler le problème. Désolé. J'obtenais une erreur de "caractère invalide" dans IE8, et c'était un caractère caché que je ne pouvais pas supprimer jusqu'à ce que je supprime tout l'espace autour du code. Fonctionne très bien, merci! –

1

Essayez ceci:

$.each($('h4'), function(i){ 
    var content = $(this).html(); 
    content = content.split('-')[1]; 
    $(this).html(content); 
}); 
Questions connexes