我正试图让一个文本框来更改一个分区中的文本,如果添加方括号,我希望在文本周围添加一个范围,使文本变绿。这是迄今为止我的代码:
  
  
  
  
   
    function greenText() {
  var textAreaText = $('#textarea').val();
  var replacedText = textAreaText.replace("[", "<span style='color:green'>").replace("]", "</span>");
  $('#preview').html(replacedText);
}
$(function() {
  greenText();
});
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="preview" style="height: 4em; background-color:#eee; padding:10px;"></div>
<textarea id="textarea" rows="4" cols="50" onchange="greenText();" onkeyup="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();">
  At w3schools.com you will learn how to [make a website]. 
</textarea>
    
   
  
   这个
   
    greenText
   
   函数在页面加载时工作,但是当我添加括号更新
   
    preview
   
   DIV它将方括号打印到页面,而不是跨距标记。有人知道为什么函数不替换文本吗?