jQuery alternar div y alternar texto
Frecuentes
Visto 11,172 equipos
2
Quiero hacer el enlace "Agregar comentario adicional" cuando se hace clic para mostrar un área de texto y el texto para alternar como "Eliminar comentario". Cuando se hace clic en "Eliminar comentario", debe ocultar el área de texto y el texto debe cambiar como "Agregar comentario adicional".
El código que utilicé es
<script type="text/javascript">
$(document).ready(function( ){
$("#addcmt").click(function( )
{
$(".commentarea").toggle( );
if ($("#addcmt").text = "Add additional comment") {
$("#addcmt").text("Remove comment");
}
else {
$("#addcmt").text("Add additional comment");
}
});
});
</script>
El html es
<div class="addlcomment">
<a id="addcmt">Add additional comment</a>
</div>
<div class="commentarea" style="display:none;">
<textarea name="strcomments1" tabindex="2"></textarea>
</div>
El cambio de texto no funciona.
Cualquier ayuda se agradece.
5 Respuestas
6
demostración de trabajo http://jsfiddle.net/eDNH5/10/
¡Esto te ayudara!
el problema era que estabas usando el operador de asignación en lugar de la igualdad ==
Código jquery
$(document).ready(function() {
$("#addcmt").click(function() {
$(".commentarea").toggle();
if ($("#addcmt").text() == "Add additional comment") {
$("#addcmt").text("Remove comment");
}
else {
$("#addcmt").text("Add additional comment");
}
});
});
Respondido el 01 de junio de 12 a las 13:06
5
si desea verificar si el bloque está visible para cambiar el texto:
$(document).ready(function() {
$("#addcmt").click(function() {
var isVisible = $(".commentarea").toggle().is(":visible");
$(this).text( isVisible ? "Remove comment" : "Add additional comment");
});
});
Estoy usando esto porque ya buscó #addcmt una vez que realmente no necesita encontrar ese elemento una vez más.
Respondido el 01 de junio de 12 a las 13:06
0
Tienes un error en la línea:
if ($("#addcmt").text = "Add additional comment") {
Debería ser:
if ($("#addcmt").text() == "Add additional comment") {
Respondido el 01 de junio de 12 a las 13:06
0
Tu si está mal. Reemplazar
if ($("#addcmt").text = "Add additional comment")
if ($("#addcmt").text == "Add additional comment")
Respondido el 01 de junio de 12 a las 13:06
0
Estás haciendo una tarea en lugar de una comparación en esta línea:
if ($("#addcmt").text = "Add additional comment") {
Quieres esto en su lugar:
if ($("#addcmt").text == "Add additional comment") {
Respondido el 01 de junio de 12 a las 13:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas jquery or haz tu propia pregunta.