2016-07-26 7 views
0

私は、各HTMLがテキスト値を取得し、それをHTMLのスパンに渡したいテキスト入力を持っているため、HTMLコンテンツをループしようとしています。idはreplyJail-numberです。 replybefore-numberJavaScriptのIDを使用してループするHTMLコンテンツ

HTMLパートのID

<span id="replyJail-1" class="rep"></span> 
<input id="replybefore-1" class="brp" type="hidden" value="hello"/> 

<span id="replyJail-2" class="rep"></span> 
<input id="replybefore-2" class="brp" type="hidden" value="#Bold letter"/> 

<span id="replyJail-3" class="rep"></span> 
<input id="replybefore-3" class="brp" type="hidden" value="`My code`"/> 

Javascriptを

var x = document.getElementsById(id); 
//x[i] 
var i; 
for (i = 0; i < x.length; i++) { 
    var n = i++; 
    var converter1 = Markdown.getSanitizingConverter(); 
    var CODESOFTLAB = new Markdown.Converter(converter1); 
    var before = document.getElementById("replybefore"+n).value; 
    var MarckDowPreviewHtml = CODESOFTLAB.makeHtml(before); 
    document.getElementById("replyJail"+n).innerHTML = MarckDowPreviewHtml; 
    var a = 10; 
} 
と同じ
+2

'getElementById' - (itdoesのJavaScriptには存在しないとされない' getElementsById')は、単一の要素ではないコレクションを返します...あなたは 'のgetElementsByClassName/querySelectorAll' – Rayon

+1

' VARのx =文書を使用するのに最適なマークアップを持っています。 @Rayon: 'getElementsById'は関数ではありません。getElementsById(id);は間違っています。正しい方法は' var x = document.getElementById(id); ' – xqoo0ooq

+1

です。 'getElementById' - no" s "です。 –

答えて

1

getElementsByClassNameを使用してすべての入力要素を取得できます。今度は、各inputを繰り返し、「前」を「刑務所」に置き換えて、対応するスパンのIDを取得します。対応する入力の値をtextContentというようにターゲットスパンに挿入できるようになりました。

var inputs = document.getElementsByClassName("brp"); 
var converter1 = Markdown.getSanitizingConverter(); 
var CODESOFTLAB = new Markdown.Converter(converter1); 

for(var i = 0; i < inputs.length; i++) 
{ 
    var input = inputs[i]; 
    var value = input.value; 
    var MarkDownPreviewHtml = CODESOFTLAB.makeHtml(value); 
    var targetId = input.id.replace("before", "Jail"); 
    var targetSpan = document.getElementById(targetId); 
    // targetSpan.textContent = MarkDownPreviewHtml; 
    targetSpan.innerHTML = MarkDownPreviewHtml; 
}//for() 


<span id="replyJail-1" class="rep"></span> 
<input id="replybefore-1" class="brp" type="hidden" value="hello"/> 

<span id="replyJail-2" class="rep"></span> 
<input id="replybefore-2" class="brp" type="hidden" value="#Bold letter"/> 

<span id="replyJail-3" class="rep"></span> 
<input id="replybefore-3" class="brp" type="hidden" value="`My code`"/> 
+0

どうすればこの' var converter1 = Markdownを含めることができますか? getSanitizingConverter(); var CODESOFTLAB = new Markdown.Converter(converter1); 'それは機能しましたが、それ以上は変換しない私のマークダウンコンバータです – Alex

+0

@Alexサンプルコードからのマークダウンコンバータコードを含むようにコードを更新しました。 –

+0

Bahit 'innerHTML'と' textContent'の違いは何ですか?これは、HTMLの代わりにテキストとしてテキスト値の中にhtmlコンテンツを出力することができますか? – Alex

関連する問題