我正在尝试创建一个将纯文本转换为 HTML 的函数,作为一些编码练习。这是它的代码。
function convert() {
var input_str = "";
var text_input = "";
var output_html = "";
var counter = 0;
input_str=$("#in").val();
text_input = input_str.trim();
if (text_input.length > 0) {
output_html += "<p>";
for (counter=0; counter < text_input.length; counter++) {
switch (text_input[counter]){
case '\n':
if (text_input[counter+1]==='\n'){
output_html+="</p>\n<p>";
counter++;
}
else output_html+="<br>";
break;
case ' ':
if(text_input[counter-1] != ' ' && text_input[counter-1] != '\t')
output_html+=" ";
break;
case '\t':
if(text_input[counter-1] != '\t')
output_html+=" ";
break;
case '&':
output_html+="%amp;";
break;
case '"':
output_html+=""";
break;
case '>':
output_html+=">";
case '<':
output_html+="<";
default:
output_html+=text_input[counter];
}
}
$("#out").val() = output_html;
}
}
我似乎无法弄清楚为什么 $("#out").val() = output_html
不起作用,但更改 $("#out")
到 JavaScript 等效的 document.getElementById("id").value
工作得非常好。我不介意使用后者来解决问题,但我有点困惑,很想知道解决方案。
<div id="wrapper">
<div id="html" class="tabs">
<textarea id="out">OUTPUT</textarea>
</div>
<div id="plain" class="tabs">
<textarea id="in">INPUT</textarea>
</div>
</div>
编辑我已将 HTML id="output"更改为 id="out"(因为它位于原始文件上,我在将其粘贴到 stackoverflow 时不小心编辑了它
最佳答案
要设置一个值,请这样做:
$("#out").val(output_html) ;
关于javascript - $ ("#id").val() 与 document.getElementById ("id").value 的工作方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60618859/