80 votes

Comment changer un texte avec jQuery

J'ai un h1 avec un identifiant de toptitle qui est créé dynamiquement, et je ne suis pas en mesure de modifier le code HTML. Il aura un titre différent selon une page. Maintenant, quand c'est Profile, je veux le changer en New word avec jQuery.

 <h1 id="toptitle">Profile</h1> // Changing only when it is Profile  
// to
<h1 id="toptitle">New word</h1>

Remarque : Si le texte est Profile , remplacez-le par New word .

103voto

Andrew Whitaker Points 58588

Cela devrait fonctionner correctement (en utilisant .text() :

 $("#toptitle").text("New word");

68voto

lonesomeday Points 95456

Quelque chose comme ça devrait faire l'affaire :

 $(document).ready(function() {
    $('#toptitle').text(function(i, oldText) {
        return oldText === 'Profil' ? 'New word' : oldText;
    });
});

Cela ne remplace le contenu que lorsqu'il est Profil . Voir text dans l'API jQuery.

16voto

Nicola Peluchetti Points 38948

Quelque chose comme ça devrait fonctionner

 var text = $('#toptitle').text();
if (text == 'Profil'){
    $('#toptitle').text('New Word');
}

10voto

Niklas Points 17865

Pourrait également le faire avec le sélecteur :contains()

 $('#toptitle:contains("Profil")').text("New word");

exemple : http://jsfiddle.net/niklasvh/xPRzr/

10voto

Josh Pinter Points 3814

Le plus propre

Essayez ceci pour une approche propre.

 var $toptitle = $('#toptitle');

if ( $toptitle.text() == 'Profile' ) // No {} brackets necessary if it's just one line.  
  $toptitle.text('New Word');         

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X