2017-09-28 4 views
0
$('.entry-content #toggle').click(function() { 

var elem = $('#toggle').text(); 

if (elem == 'Read More') { 

$('.entry #toggle').text('Read Less'); 

} else { 

$('.entry #toggle').text('Read More'); 

} 

}); 

Cette jQuery modifie le texte du bouton sur tous les boutons de chaque article de la page d'archives. Je veux seulement qu'il change le bouton sur lequel on clique.Texte du bouton d'arrêt Modification de tous les boutons

<div id="toggle" class="btn">Read More</div> 

<div class="text" /> 

Mise à jour 1: Je souhaite uniquement ajouter le bouton s'il y a 2 paragraphes ou plus. Je suppose que je peux utiliser. Après un certain comment.

Mise à jour 2:

$('#toggle').click(function() { 

$(this).closest('.post').find('.text').slideToggle(); 

$(this).text(function(i, v) { 

    return v === 'Read More' ? 'Read Less' : 'Read More' 


     }); 
}); 
+0

ID doit être unique sur le contexte – guradio

Répondre

1

Référence votre propre bouton dans l'événement.

$('.entry-content #toggle').click(function() { 

var elem = $(this).text(); 

if (elem == 'Read More') { 

$(this).text('Read Less'); 

} else { 

$(this).text('Read More'); 

} 

}); 

Réf. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this

+0

souhaite que je compris jQuery comme vous Diego. J'ai passé 2 jours à essayer d'apprendre. Merci beaucoup. – Dev

+0

Heureux que je pourrais aider, et continuer à apprendre! JS est un puzzle génial pour travailler avec! –

+0

Juste 1 question de plus si vous avez le temps s'il vous plaît. Je veux seulement ajouter le bouton s'il y a 2 paragraphes ou plus. Je suppose que je peux utiliser. Après un certain comment. – Dev

1

$('#toggle').click(function() { 
 

 
    var elem = $(this).text(); 
 

 
    if (elem == 'Read More') { 
 
     $(this).text('Read Less'); 
 
    } else { 
 
     $(this).text('Read More'); 
 
    } 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="toggle" class="btn">Read More</div> 
 

 
<div class="text" />

2

Code simplifié.

$('#toggle').click(function() { 
 
    $(this).text(function(i, v){ 
 
     return v === 'Read More' ? 'Read Less' : 'Read More' 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="toggle" class="btn">Read More</div> 
 

 
<div class="text" />

+0

Pourriez-vous utiliser cela avec .slideUp(); et .slideDown(); – Dev