我正在使用标记转换器javascript来转换用户回复区域中的文本,但是它只能从其他用户那里得到最后的文本,并将其放置在顶部--我不知道我做错了什么。
<script>
var inputs = document.getElementsByClassName("RepIcer");
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", "replysjl");
var targetSpan = document.getElementById( targetId );
targetSpan.innerHTML = MarkDownPreviewHtml;
var a = 10;
}//for()
</script> <p id="reply-0"></p>
<textarea id="replybefore-0" style="display:none;" class="RepIcer">Hello how are you</textarea>
<p id="reply-5"></p>
<textarea id="replybefore-5" style="display:none;" class="RepIcer">HHHH okay</textarea>
<p id="reply-6"></p>
<textarea id="replybefore-6" style="display:none;" class="RepIcer">Whuyyyy</textarea>
<p id="reply-10"></p>
<textarea id="replybefore-10" style="display:none;" class="RepIcer">Not working</textarea>
我的html示例
<p id="reply-0"></p>
<textarea id="replybefore-0" style="display:none;" class="RepIcer">Hello how are you</textarea>
<p id="reply-5"></p>
<textarea id="replybefore-5" style="display:none;" class="RepIcer">HHHH okay</textarea>
<p id="reply-6"></p>
<textarea id="replybefore-6" style="display:none;" class="RepIcer">Whuyyyy</textarea>
<p id="reply-10"></p>
<textarea id="replybefore-10" style="display:none;" class="RepIcer">Not working</textarea>为什么我混淆了p和textarea元素id是基于时间的答复被插入到数据库中,来自db的回复消息id是我在reply-XX and replybefore-XX中使用的,如果这是我可以添加假id的另一种方式,比如‘12345.直到最后一次回复我会喜欢的
这里是我的javascript,用于获取文本区域内的文本,并根据每个元素的id在in元素中显示。
<script>
var inputs = document.getElementsByClassName("RepIcer");
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", "replyList");
var targetSpan = document.getElementById( targetId );
targetSpan.innerHTML = MarkDownPreviewHtml;
var a = 10;
}
</script>
发布于 2016-11-07 15:56:45
这里有一个没有Markdown的jsFiddle版本,但是您可以从这里详细说明。
您的targetId替换没有正确替换,请参阅下面的代码:
var inputs = document.getElementsByClassName("RepIcer");
for( var i = 0; i < inputs.length; i++ ){
var input = inputs[i];
var value = input.value;
var targetId = input.id.replace("before", "");
var targetSpan = document.getElementById( targetId );
targetSpan.innerHTML = value;
}https://stackoverflow.com/questions/40468917
复制相似问题