Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
6
respuestas

Comparto codigo y hago una consulta con respecto a <hr>

Buenas comparto mi codigo:

<meta charset="UTF-8">

<h1>PROGRAMA</h1>

<hr size="5px" width="50%" align="left" color="red"/>

<script>

function saltarLinea() {
    document.write("<br>");
    document.write("<br>");
    document.write("<br>");

    document.write("<hr/>");

    document.write("<br>");    
    document.write("<br>");
}

function imprimir(frase) {
    document.write("<big>" + frase + "</big>");
    saltarLinea();
}

var anho = 2025;

imprimir("Hola amigos");
// este código calcula las edades de Juan, Pedro y Carlos
imprimir("Juan tiene: " + (anho-2000) + " años");
imprimir("Pedro tiene: " + (anho-1995) + " años");

anho = 2030

imprimir("Carlos tiene: " + (anho-2005) + " años");


</script>

Bien,

¿Qué pasa si te olvidas la palabra function a la hora de declarar una de las funciones? Por ejemplo si borro la palabra function saltarLinea, al no tomarme la función correctamente me termina pegando todas las frases. Y si borro la palabra function de imprimir terminaría x no mostrarme nada. Solo quedaría lo que esta fuera de javascript, quedaría solo el titulo que esta en html.

¿Y si quitamos los paréntesis en la declaración de la función saltarLinea? Lo mismo, al no llamarla me termina pegando todas las frases.

Ahora quiero hacer una consulta con respecto a la etiqueta hr

Buscando info sobre su funcionamiento encontré que se puede alterar la barra que coloca poniéndole distintos parámetros ( me tome el atrevimiento de poner una en html debajo del titulo para que se entienda lo que digo). Ahora bien, no pude poner los mismos parámetros si debo colocar la etiqueta hr en javascript (osea dentro de script). Como se puede colocar sin que me de error ???

Gracias!!!

6 respuestas
solución!

Hola Christian,

Esto es debido a que como te darás cuenta para asignar los distintos parámetros al a etiqueta <hr> utilizamos las mismas comillas que abrimos para introducir el texto, provocando que se cierren nuestras comillas iniciales y por lo tanto, da error.

Para solucionar esto solo debes agregar el símbolo \ rodeando las comillas interiores para que así no se cierren las comillas iniciales:

imprimir("<hr size=\"5px\" width=\"50%\" align=\"left\" color=\"red\"/>");

Te dejo el código corregido:

<meta charset="UTF-8">

<h1>PROGRAMA</h1>

<hr size="5px" width="50%" align="left" color="red"/>

<script>

function saltarLinea() {
    document.write("<br>");
    document.write("<br>");
    document.write("<br>");

    document.write("<hr/>");

    document.write("<br>");    
    document.write("<br>");
}

function imprimir(frase) {
    document.write("<big>" + frase + "</big>");
    saltarLinea();
}

var anho = 2025;

imprimir("Hola amigos");
// este código calcula las edades de Juan, Pedro y Carlos
imprimir("Juan tiene: " + (anho-2000) + " años");
// <hr> en Javascript
imprimir("<hr size=\"5px\" width=\"50%\" align=\"left\" color=\"red\"/>");
imprimir("Pedro tiene: " + (anho-1995) + " años");

anho = 2030

imprimir("Carlos tiene: " + (anho-2005) + " años");


</script>

Espero haber sido de ayuda, éxito!

Sos un genio !!! Te agradezco , no le encontraba la vuelta. Me daba cuenta que era por que usaba las mismas comillas, pero no sabia como solucionarlo. Mil gracias!!!

De nada, te dejo mi Discord por si requieres de ayuda en un futuro: Benjamín#3369

Obvio que si! genial muchas gracias!

Hola Christian! Me vino excelente tu post! Yo la verdad que tenía mucha duda sobre este tema, porque creo que tiende a mal interpretarse la manera en que está redactado el problema.

dice... "2.- Realiza una etiqueta HTML, será bastante útil para separar un resultado de otro: hr Altera la función saltarLinea() para que esta escriba en el navegador un hr después del tercer br que ya hicimos.". Lo que yo interpreté sobre "Realizar una etiqueta HTML" fue que había que crear esta etiqueta de manera manual. Pero buscando no encontraba la forma de crearla sin que sea tan complicado a esta altura que recién empezamos (existe la forma de hacerlo con una función llamada document.element pero es algo para más adelante creo).

Lo que hiciste de todas maneras estuvo perfecto! Y se te generó una duda similar a la mía.

Yo te comparto mi código agregando la linea del hr customizada como vos la tenés y creo que sería como vos querías que te quede y se vea en el navegador...porque si te fijaste ejecutando el código corregido quedan dos hr de tu estilo y las otras las hace con hr ordinarios. En fin fijate si era así como querías que se vea o sí lo habías hecho así perfecto...Saludos!!

Nota: Al For que hice en la función saltarLinea no le des importancia solo lo hice para pasarle un parámetro y decirle directamente cuantos br´s quiero que haga. Igual podés agregar la misma línea de código en la función saltarLinea tal como la tenes en tu código.

<meta charset="utf-8">
<html>

<h1>PROGRAMA</h1>

<script>
function saltarLinea(num){

    for (var i = 1; i < num; i++) {

        document.write("<br>");

            if (i==3) {
                document.write("<hr size=\"5px\" width=\"50%\" align=\"left\" color=\"red\"/>");
            }
    }
}

function imprimir(mensaje){
    document.write("<big>" + mensaje + "</big>");
    saltarLinea(6);
}

var anho = 2025;

    imprimir("Hola amigos");
    // este código calcula las edades de Juan, Pedro y Carlos
    imprimir("Juan tiene: " + (anho-2000) + " años");
    imprimir("Pedro tiene: " + (anho-1995) + " años");
    anho = 2030
    imprimir("Carlos tiene: " + (anho-2005) + " años");

</script>

</html>

Capo Ignacio! ahi va, era asi al final , tal cual como nos dijo Benjamin. Poner barra antes de las comillas ( <hr size="5px" width="50%" align="left" color="red"/>" ) . Gracias x la buena onda y comentar, abrazo!!!