2016-12-20 1 views
2

나는 HTML 코드의 리터럴 문자열을 javascript의 태그 안에 페인트하고 싶습니다. 그러나 그것을 벗어나려고 노력하지만 나던합니다.html을 벗어나는 방법 <tag> document.write 함수의 내부

function paint_string(n){ 
     document.write("'<table>'"); 
      for (i in rango(0,n)){ 
       document.write("'<tr><td></td></tr>'"); 
      } 
     document.write("'</table>'"); 
} 
+4

'태그가 작동하지 않음'이란 무엇을 의미합니까? –

+1

페이지에 HTML의 리터럴 문자열을 넣으려고합니까, 아니면 테이블을 원하십니까? –

+0

대신'document.createElement'를 사용해보십시오 : http://www.w3schools.com/jsref/met_document_createelement.asp –

답변

1

구현에 너무 많은 문제가 있습니다.

  1. 당신은 ''에 태그를 둘러싸고있다 : 당신이 할 수있는만큼 위험 document.write()를 사용하는 document.write("'<table>'");
  2. .
  3. HTML에서 작동하지 않는 태그 열기와 닫기 사이를 분할하고 있습니다.
    document.write('<table>')을 입력하면 브라우저에 <table></table>이 자동 완성됩니다.
  4. 무엇을 rango(0, n)인지 확실하지 않으며 여기에서 어떻게 사용할지 알 수 있습니다.

HTML을 만들고 특정 요소의 innerHTML을 업데이트하면됩니다.

function paint_string (n, el) { 
    var finalHtml = '<table>'; 
    for (i in rango(0, n)) { 
    finalHtml += '<tr><td></td></tr>'; 
    } 
    finalHtml += '</table>'; 
    document.getElementById(el).innerHTML = finalHtml; 
} 

코드에 적합한 작동 스 니펫을 만들었습니다.

function paint_string (n, el) { 
 
    var finalHtml = '<table border="1" cellspacing="1" cellpadding="1" width="100%">'; 
 
    for (var i = 0; i < n; i++) { 
 
    finalHtml += '<tr><td>&nbsp;</td></tr>'; 
 
    } 
 
    finalHtml += '</table>'; 
 
    document.getElementById(el).innerHTML = finalHtml; 
 
} 
 
paint_string(5, "hello");
<div id="hello"></div>


아니면 내가 제대로 질문을 이해한다면, 당신은 HTML과 텍스트를 넣어 싶어, 당신은이 작업을 수행 할 필요가 :

function paint_string (n, el) { 
 
    var finalHtml = '<table border="1" cellspacing="1" cellpadding="1" width="100%">\n'; 
 
    for (var i = 0; i < n; i++) { 
 
    finalHtml += '<tr><td></td></tr>\n'; 
 
    } 
 
    finalHtml += '</table>\n'; 
 
    document.getElementById(el).textContent = finalHtml; 
 
} 
 
paint_string(5, "hello");
<pre id="hello"></pre>

+0

< <와>와 << 으로> @ymd_ 예 ... 당신은 바로 ... 난 그냥 그것을 주석! –

+0

와 > –

+0

@ymd_ 내가 여러분에게 준 것은'textContent' 메소드입니다. 'document.write()'함수를 사용하지 마십시오. –

0

그냥 remo

function paint_string(n) { 
    document.write("<table>"); 
    for (i in rango(0, n)) { 
     document.write("<tr><td></td></tr>"); 
    } 
    document.write("</table>"); 
} 
+0

정성스럽게 신경 쓰시겠습니까? – RamenChef

0

내가 ">"에 대한 "<"&gt;에 대한 &lt;를 사용 : 같은 작은 따옴표를했습니다.

function paint_string(n){ 
    document.write('&lt;table&gt;'); 
     for (i in rango(0,n)){ 
      document.write('&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;'); 
     } 
    document.write('&lt;/table&gt;'); 
} 
+0

또한 마지막에';'를 잊지 마십시오. 당신의 대답을 편집하십시오. 그리고 당신이'''을 잊어 버렸습니다. ... –

+0

';'와'''' –

+0

와 함께 작동합니다. 와우, 안돼.하지만 제대로 작동한다면, 좋고.':)' –

관련 문제