2012-06-08 2 views
16

Как создать пустое пространство на лету с помощью javascript? Ниже не работает для меня ..Создать пустое пространство на лету Javascript

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

Некоторые опции [Описанные здесь] (http://www.codingforums.com/showthread.php?t=17278) – Brad

+0

@MattBall, что это не полезно. ОП явно не понимал, что ' ' не является тегом, что указывает на уровень знаний и понимания. Старайтесь быть полезными, а не унизительными - объясните, почему то, что они делают, неверно. – dudewad

+0

@dudewad, пожалуйста, поймите, что комментарий больше 5 лет. –

ответ

10

Если вы действительно просто хотите добавить пробел, используйте следующую команду:

div.innerHTML += ' '; 

или

div.innerHTML += ' '; 

для HTML сущности.

+2

Используйте innerHTML с осторожностью. Пожалуйста, ознакомьтесь с [потенциальными проблемами] (http://stackoverflow.com/questions/8190024/is-innerhtml-still-considered-to-be-evil-and-why) – Brad

5

Вы ищете document.createTextNode(' ') я считаю.

Это может использоваться только для обычного текста, но не для сущностей.

+0

@ Andreas Вы правы.Я отредактировал свой ответ, чтобы понять, что это можно использовать только для добавления текста, а не сущности. –

+4

@AlexGamezo Это не совсем верно. '.createTextNode ('\ u00A0')' будет создавать неразрывное пространство. – Andreas

58

Попробуйте использовать это:

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

Если вы хотите/нужно больше пространства, использовать несколько \u00A0 например:

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

Это один:

document.createEntityReference('nbsp'); 

Безразлично» t работать со всеми браузерами, поэтому избегать этого.

+2

document.createEntityReference НЕ надлежащим образом поддерживается веб-браузерами таких как Firefox, IE и Opera. Ссылка: https://developer.mozilla.org/en-US/docs/Web/API/document.createEntityReference – MichielB

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

работы (я использую exclaimation для непосредственности результатов, заменить то, что вы хотите

1

вы могли бы сделать это следующим образом. Но если вы хотите, чтобы некоторые пустое пространство, может быть, CSS будет работать лучше (маржи, отступы , ...)

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

добавить пространство между Li [список] многоканальная линия предложения попробовать этот

как в: Я больше озабочен моей кожи
и использовать органические продукты

enter image description here

0

Это может помочь !!

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") */   

Вы можете добавить несколько раз, когда хотите получить много пустых строк.

-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

Это не дает ответа на вопрос. Когда у вас будет достаточно [репутации] (https://stackoverflow.com/help/whats-reputation), вы сможете [прокомментировать любое сообщение] (https://stackoverflow.com/help/privileges/comment); вместо этого [предоставить ответы, которые не требуют разъяснений у аськи) (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- я-делать-вместо этого). - [Из обзора] (/ review/low-quality-posts/17746604) – cramopy

+1

Благодарим вас за этот фрагмент кода, который может оказать немедленную помощь. [Правильное объяснение] (https://meta.stackexchange.com/questions/114762) значительно улучшит его образовательную ценность, показывая, почему это является хорошим решением проблемы, и сделало бы его более полезным для будущих читателей с похожими, но не идентичные вопросы. Измените свой ответ, чтобы добавить объяснения, и укажите, какие ограничения и допущения применяются. –

Смежные вопросы