将命令显示为文本

时间:2016-09-30 15:42:59

标签: javascript

我的代码:

var element = '<button>'+text+'</button>';
$('#output').append(element+"\n");

HTML

<textarea id="output" readonly></textarea>

我想要它,因此元素(按钮)在textarea中显示为text而不是元素。我想要它显示:

'<button>Hi</button>'

如果text =“Hi”
有什么想法吗?

2 个答案:

答案 0 :(得分:0)

使用.val()代替.append()

$('#output').val(element+"\n");

答案 1 :(得分:0)

如其他答案中所述,请使用val(),但您希望在覆盖之前获取现有值。发布此答案的原因是由于另一个未更新。

  

工作演示

$("#Example").on( "click", function() {
  //Add new input before existing content
$('#output').val($('#input').val()+"\n"+$('#output').val());
  //Add new input after existing content
//$('#output').val( $('#output').val() +$('#input').val()+ "\n");  
 $('#input').val('');
  $('#input').focus();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<input type="text" id="input"/><button id="Example">Add</button><br/>
<textarea id="output" readonly></textarea>

JS Fiddle Demo

要将文本预设为按钮,您可以将按钮标记包围在输入值周围。

示例:"<button>"+$('#input').val()+"</button>" JS Fiddle Demo 2

  

演示二

$("#Example").on( "click", function() {
//New input before existing content
 $('#output').val("<button>"+$('#input').val()+"</button>\n"+$('#output').val());
 //New input after existing content
 //$('#output').val( $('#output').val() +"<button>"+$('#input').val()+ "</button>\n");
  $('#input').val('');
  $('#input').focus();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<input type="text" id="input"/><button id="Example">Add</button><br/>
<textarea id="output" readonly></textarea>

如果您对上述源代码有任何疑问,请在下面留言,我会尽快给您回复。

我希望这有帮助。快乐的编码!