2012-06-08 44 views
16

¿Cómo puedo crear un espacio en blanco sobre la marcha usando javascript? La siguiente no funciona para mí ..Crear un espacio HTML en blanco sobre la marcha Javascript

var blank = document.createElement(" "); 
div.appendChild(blank); 
+0

Algunas opciones [] se describen aquí (http://www.codingforums.com/showthread.php?t=17278) – Brad

+0

@MattBall que no es útil. El OP claramente no entendió que ' ' no es una etiqueta, lo que indica un nivel novato de habilidad y comprensión. Intenta ser útil, no degradante: explica por qué lo que hacen no es correcto. – dudewad

+0

@dudewad tenga en cuenta que el comentario tiene más de 5 años. –

Respuesta

10

Si realmente desea anexar un carácter de espacio, utilice la siguiente:

div.innerHTML += ' '; 

o

div.innerHTML += ' '; 

para la entidad HTML.

+2

Usa innerHTML con cuidado. Por favor, lea sobre [posibles problemas] (http://stackoverflow.com/questions/8190024/is-innerhtml-still-considered-to-be-evil-and-why) – Brad

5

Usted está buscando document.createTextNode(' ') creo.

Esto solo se puede usar para texto sin formato, no para entidades.

+0

@Andreas Tienes razón.He editado mi respuesta para reflejar que esto solo se puede usar para agregar texto directo, no entidades. –

+4

@AlexGamezo Eso no está del todo bien. '.createTextNode ('\ u00A0')' produciría un espacio sin interrupciones. – Andreas

58

Trate de usar esto:

myElement.appendChild(document.createTextNode('\u00A0')); 

Si quiere/necesita más espacios, utilizar varios \u00A0 por ejemplo:

myElement.appendChild(document.createTextNode('\u00A0\u00A0')); 

Ésta:

document.createEntityReference('nbsp'); 

doesn' t funciona todos los navegadores, por lo que evítalo.

+2

document.createEntityReference NO es soportado adecuadamente por los navegadores web como Firefox, IE y Opera. Ref: https://developer.mozilla.org/en-US/docs/Web/API/document.createEntityReference – MichielB

0
document.getElementById("mydiv").innerHTML +="!"; 

obras (yo uso exclaimation por la inmediatez de los resultados, reemplace con lo que deseas

1

que podría hacer que la siguiente manera;. Pero si quieres algo de espacio vacío quizá css funcionaría mejor (margen, el relleno , ...)

var span = document.createElement("span"); 
span.innerHTML = " "; // (if this doesn't work try " ") 
anyElement.appendChild(span); // make sure anyElement actually points to a DOM element 
-2

de añadir espacio entre un li [lista] la frase de múltiples líneas probar este

como en: Estoy más preocupado por mi piel
y utilizar productos orgánicos

enter image description here

0

Esto podría ayudar !!

var blank = document.createElement("br"); 
    /*this creates a br(for a break) element dynamically */ 
myElement.appendChild(blank); 
    /* myElement could be any HTML element like div , 
    span , img etc created dynamically , 
    var myElement = document.createElement("your element") */   

Puede agregar br tantas veces como desee para obtener tantas líneas en blanco.

-1
<body> 
<table id="nadis"> 

</tr> 
</table> 

</body> 

var numarray = ["1.1", "12.20", "151.12", 1000.23,12451.0733]; 
    var highetlen = 0; 
    for(var i=0; i<numarray.length; i++){ 
     var n = numarray[i].toString(); 
     var res= n.split("."); 
     n = res[0]; 

     if(highetlen < n.length){ 
     highetlen = n.length; 
     } 

    } 

    for(var j=0; j<numarray.length; j++){ 
     var s = numarray[j].toString(); 
     var res= s.split("."); 
     s = res[0]; 

     if(highetlen > s.length){ 
     var finallevel = highetlen - s.length; 

     var finalhigh = ""; 
     for(k=0;k<finallevel;k++){ 
     finalhigh = finalhigh+ '&#160; '; 
     } 
     numarray[j] = finalhigh + numarray[j]; 
     } 
     var nadiss = document.getElementById("nadis"); 
     nadiss.innerHTML += "<tr><td>" + numarray[j] + "</td></tr>"; 
    } 
+0

Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente [reputación] (https://stackoverflow.com/help/whats-reputation) podrá [comentar cualquier publicación] (https://stackoverflow.com/help/privileges/comment); en su lugar, [brinde respuestas que no requieran aclaración del autor de la pregunta] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-instead). - [De la opinión] (/ reseña/mensajes de baja calidad/17746604) – cramopy

+1

Gracias por este fragmento de código, que puede proporcionar ayuda inmediata. [Una explicación adecuada] (https://meta.stackexchange.com/questions/114762) mejoraría en gran medida su valor educativo al mostrar por qué esta es una buena solución al problema, y ​​lo haría más útil para futuros lectores con similares, pero no idénticas, preguntas. Edite su respuesta para agregar una explicación y dé una indicación de qué limitaciones y suposiciones se aplican. –

Cuestiones relacionadas