javascript - $ ("#id").val() 与 document.getElementById ("id").value 的工作方式不同

标签 javascript html

我正在尝试创建一个将纯文本转换为 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+="&quot;";
          break;
        case '>':
          output_html+="&gt;";
        case '<':
          output_html+="&lt;";
        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/

相关文章:

php - (Ajax + PHP)我的 Google map 消失了

javascript - 元素隐藏时 outerWidth() 返回不同的值

javascript - 如何将信息从 WPF 应用程序传递到 HTML 页面

javascript - CSS : One of the DIVs gets positioned higher when window is resized

html - 更改悬停效果的高度

javascript - 谷歌地图 : Event Listener only remembering final value of variable

javascript - knockout 名单不会添加新项目

javascript - 当父级来自不同域时,在另一个 iframe 中执行 javascript 函数

html - 重叠选项卡式容器列表项

javascript - Jquery获取数组中的window.location.search标签