Je souhaite modifier le texte de la balise d'ancrage lors d'un événement de clic à l'aide de jquery.

Étiquette d'ancrage:

 <a id="view_email" href="#"><i class="fa fa-envelope"></i> View Email</a>

Code JQuery:

<script type="text/javascript">
$(document).ready(function(){
    $("#view_email").click(function(){
        $(this).text() = "abc@gmail.com";
    });
});
</script>
-1
Entrepreuner 20 nov. 2018 à 16:35

3 réponses

Meilleure réponse
$(document).ready(function(){
    $("#view_email").click(function(){
        $(this).text("abc@gmail.com");//you will loose <i> tag
        //$(this).html("<i class="fa fa-envelope"></i> View Email")//better to use html instead of text.
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="view_email" href="javascript:void(0);"><i class="fa fa-envelope"></i> View Email</a>
1
Negi Rox 20 nov. 2018 à 13:40

Puisque la fonction text () remplacera également l'icône d'enveloppe par du texte, restituez le texte en utilisant html () avec l'icône comme indiqué ci-dessous:

$(document).ready(function(){
    $("#view_email").click(function(){
        $(this).html("<i class='fa fa-envelope'></i>abc@gmail.com");
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="view_email" href="#"><i class="fa fa-envelope"></i> View Email</a>
0
ssamuel 20 nov. 2018 à 13:40

.text () est une méthode et vous ne pouvez pas l'affecter à cet appel de méthode;

Essayer

<script type="text/javascript">
    $(document).ready(function(){
    $("#view_email").click(function(){
        $(this).textContent = "abc@gmail.com";
    });
    });
</script>
0
Amit 20 nov. 2018 à 13:39