elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Contar Caracteres con .length (javascript)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Contar Caracteres con .length (javascript)  (Leído 1,884 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Contar Caracteres con .length (javascript)
« en: 13 Enero 2019, 00:28 am »

Buenas tardes, estoy en un problema  :silbar:

Y es que necesito obtener los caracteres de varias cantidades de caracteres con la misma clase.

Lo que tengo hasta hora es esto..

Código
  1. var text = document.getElementsByClassName('text_publicacion');
  2. var text_cant = document.getElementsByClassName('text_publicacion').length;
  3. var text_char = [];
  4.  
  5. for(var i = 0; i < text_cant; i++)
  6. {
  7. text_char[i] = text[i].length;
  8. }
  9.  
  10. for(var i = 0; i < text_cant; i++)
  11. {
  12. if(text_char[i] > 0 && text_char[i] <= 85)
  13. {
  14. text[i].style.fontSize = "22px";
  15. }
  16. }
  17.  
  18. for(var i = 0; i < text_cant; i++)
  19. {
  20. if(text_char[i] > 85)
  21. {
  22. text[i].style.fontSize = "15px";
  23. }
  24. }

El problema es que siempre que uso un alert o un console.log para ver porque no funciona por ejemplo: hago alert(text[3].length);

sale "Undefined"


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Contar Caracteres con .length (javascript)
« Respuesta #1 en: 15 Enero 2019, 13:09 pm »

Hola,

No hagas varios for para lo mismo. La lógica la podrías (y deberías) aplicar en uno solo, así evitas gastar ciclos de CPU innecesarios y terminas de ejecutar tu tarea antes. Tampoco es necesario realmente almacenar los valores en un array aunque bueno, si quieres hacerlo...

Y tu problema realmente, es que no estas obteniendo el length del contenido. Los contenedores del DOM (véase, etiquetas html tipo span, p, div y cualquier otra..) tienen sus propiedades referentes al texto que contienen. Los inputs lo mismo. Para contenedores DOM, si solo quieres texto, lo más seguro es usar textContent, si lo que tienes es un elemento input, usas value.

Código
  1. var text = document.getElementsByClassName('text_publicacion');
  2.  
  3. for (var max = text.length, i = 0; i < max; ++i) {
  4.    var element = text[i];
  5.    var element_value = element.textContent;
  6.  
  7.    if (element_value.length > 0 && element_value.length < 85) {
  8.        element.style.fontSize = "22px";
  9.    }
  10.  
  11.    else if (element_value.length > 85) {
  12.        element.style.fontSize = "12px";
  13.    }
  14. }

https://developer.mozilla.org/es/docs/Web/API/Node/textContent

Saludos


En línea

Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: Contar Caracteres con .length (javascript)
« Respuesta #2 en: 17 Enero 2019, 20:13 pm »

Gracias amigo!  ;-) ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Contar caracteres en strings de pascal « 1 2 »
Programación General
juancho77 11 23,674 Último mensaje 18 Julio 2012, 06:27 am
por Beta69
contar caracteres
Scripting
minette1988 3 16,974 Último mensaje 13 Mayo 2010, 23:31 pm
por leogtz
Programa para contar caracteres y palabras*. Act. 20/08/10 « 1 2 3 »
.NET (C#, VB.NET, ASP)
Braayhaan 22 25,363 Último mensaje 29 Enero 2015, 01:51 am
por Eleкtro
contar palabras repetidas o cadena de caracteres
PHP
kanser 9 11,090 Último mensaje 21 Octubre 2011, 01:22 am
por kanser
Contar carácteres de un fichero a través de un Hilo.
Java
Didy 2 2,927 Último mensaje 7 Junio 2013, 13:13 pm
por Didy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines