2012-02-10 216 views
0

我有一个文本区域,我试图附加一个div到它。我试图用jQuery这样做...将div附加到文本区域?

var text = '<div class="item"><a class="as">q</a>test</div>'; 
$('#textArea').append(text); 

代码运行没有抛出任何错误,但我的文字没有出现在文字区域内。为什么会发生?

+2

你想把文本放在你的textarea中,还是你想在它后面插入一个div元素? – 2012-02-10 13:23:06

+0

@mack无法正常工作。在发布之前尝试一下。 – kapa 2012-02-11 13:00:23

回答

0

你想将其添加到HTML结构或者干脆显示HTML代码的文本?
如果你想将它添加到textarea HTML结构中,这将不起作用。
什么您正在寻找是
$('#textArea').text(text);$('#textArea').text($('#textArea').text()+text);

.text()套你的textarea
.html()将设置你的HTML内容

0

不能追加到一个textarea的文本。其文本内容的行为与其他输入类似。

var text = '<div class="item"><a class="as">q</a>test</div>'; 
$('#textArea').val($('#textArea').val() + text); 
0

尝试:

$('#textArea').val(text); 
0

如果要呈现的div的内容,而只是想显示你需要的HTML先转换成文本区域内的HTML:

var lt='&lt;'; 
var gt='&gt;'; 
var text = '<div class="item"><a class="as">q</a>test</div>'; 
text = text.replace(/</gi, lt); 
text = text.replace(/>/gi, gt); 
$('#textArea').append(text); 

而文本区域的HTML应该如下所示:

<textarea id="textArea"></textarea> 

如果要渲染的textarea的使用里面的div的内容:

var text = '<div class="item"><a class="as">q</a>test</div>'; 
$('#textArea').append(text); 

为文本区的HTML是一样的,在其他例如:

<textarea id="textArea"></textarea> 
0

你不能把div放在textarea中,但有时你需要这样做。好消息是,您可以通过其他方式使用元素的属性来执行此操作。像

<div contenteditable="true" style="min-height:50px; width:300px;" id="txtDiv"> 
</div> 

这个div的行为完全像一个Textarea,但你可以追加任何你想要的东西。并记住当你想从jquery里面抓取数据时

var ContentofDiv = $('#txtDiv').html();