Javascript jQuery:将文本区域内的段落附加到html的最佳方式

Javascript jQuery:将文本区域内的段落附加到html的最佳方式,javascript,jquery,html,replace,paragraph,Javascript,Jquery,Html,Replace,Paragraph,我有一个textarea,它包含可变的html内容,这些内容总是包装在段落(p)标记中 HTML(追加前): <textarea rows='7' class='form-control' id='comments'><p>My variable HTML content.</p></textarea> $('#comments').val(); <textarea rows='7' class='form-control' id='co

我有一个textarea,它包含可变的html内容,这些内容总是包装在段落(p)标记中

HTML(追加前):

<textarea rows='7' class='form-control' id='comments'><p>My variable HTML content.</p></textarea>
$('#comments').val();
<textarea rows='7' class='form-control' id='comments'><p>My variable HTML content. Some appended HTML.</p></textarea>
现在,我需要在这一段的末尾添加HTML,但是在p标记中

HTML(追加后):

<textarea rows='7' class='form-control' id='comments'><p>My variable HTML content.</p></textarea>
$('#comments').val();
<textarea rows='7' class='form-control' id='comments'><p>My variable HTML content. Some appended HTML.</p></textarea>
我的可变HTML内容。一些附加的HTML

当然,我可以替换上面的最后4个字符(即结束p标记),然后附加我的HTML,然后再次添加结束p标记。 有人能告诉我在jQuery中是否有更好的方法来实现同样的功能吗


提前谢谢你,蒂姆

好的。我真的很喜欢这个

$('#comments').text($($('#comments').text()).append(' a new insert!').text());

不要看太久。可能会伤到你的眼睛:-)

好的。我真的很喜欢这个

$('#comments').text($($('#comments').text()).append(' a new insert!').text());

不要看太久。可能会伤害您的眼睛:-)

您可以将值插入临时div,向临时div中的
-元素添加一个元素,然后再次获取更新的内容:

var tmpDiv = $('<div></div>'); //create temporary element
tmpDiv.html($('#comments').val()); // add HTML from textarea
$(someHtml).appendTo($('p', tmpDiv)); // append custom HTML to P inside temp element
newTextAreaValue = tmpDiv.html(); // retrieve new value
var tmpDiv=$('')//创建临时元素
tmpDiv.html($('#comments').val());//从文本区域添加HTML
$(someHtml).appendTo($('p',tmpDiv));//将自定义HTML附加到temp元素内的P
newTextAreaValue=tmpDiv.html();//检索新值

您可以将值插入临时div,向临时div中的
-元素添加一个元素,然后再次获取更新的内容:

var tmpDiv = $('<div></div>'); //create temporary element
tmpDiv.html($('#comments').val()); // add HTML from textarea
$(someHtml).appendTo($('p', tmpDiv)); // append custom HTML to P inside temp element
newTextAreaValue = tmpDiv.html(); // retrieve new value
var tmpDiv=$('')//创建临时元素
tmpDiv.html($('#comments').val());//从文本区域添加HTML
$(someHtml).appendTo($('p',tmpDiv));//将自定义HTML附加到temp元素内的P
newTextAreaValue=tmpDiv.html();//检索新值

将textarea的字符串值解析为HTML,并插入任何您喜欢的内容,然后将HTML的字符串值传递回去

$('#comments').val(function(_, val) {
    return $('<div />', {html:val}).find('p').append('content').end().html();
});
$('#comments').val(函数(#,val){
返回$('',{html:val}).find('p').append('content').end().html();
});

将textarea的字符串值解析为HTML,并插入任何您喜欢的内容,然后将HTML的字符串值传递回

$('#comments').val(function(_, val) {
    return $('<div />', {html:val}).find('p').append('content').end().html();
});
$('#comments').val(函数(#,val){
返回$('',{html:val}).find('p').append('content').end().html();
});

这可以达到目的

var html = $('#comments').val();
$('#comments').val(
    $(html).append('  Some appended HTML.')[0].outerHTML
);

这可以达到目的

var html = $('#comments').val();
$('#comments').val(
    $(html).append('  Some appended HTML.')[0].outerHTML
);

我不知道为什么要在文本区域中添加
p
标记,但是如果要附加到
p
而不是文本区域,那么只需选择
p
中的内容:
$(“#comments p').val()
;谢谢,当我在这个文本区域使用文本编辑器时,p标签会自动添加。没有
p
标签。文本区域中不能有任何标记:我不知道为什么要在文本区域中放置
p
标记,但如果要附加到
p
而不是文本区域,则只需选择
p
中的内容:
$('#comments p').val()
;谢谢,当我在这个文本区域使用文本编辑器时,p标签会自动添加。没有
p
标签。文本区域中不能有任何标签:谢谢。这不起作用,因为p标签在文本区域内,所以它没有自己的id。我试过了。它起作用了。它只需删除,如果您附加到它们,您就可以执行
$('#comments').text(''+$($('#comments').text()).append('anewinsert!').text()+'

')谢谢。这不起作用,因为p标签在文本区域内,所以它没有自己的id。我试过了。它起作用了。它只需删除,如果您附加到它们,您就可以执行
$('#comments').text(''+$($('#comments').text()).append('anewinsert!').text()+'

')谢谢。我不认为这会起作用,因为p标签在文本区域内,所以它没有自己的id。谢谢。我不认为这会起作用,因为p标签在文本区域内,所以它没有自己的id。非常感谢-这正是我想要的。我会尽快接受。:)非常感谢-这正是我想要的。我会尽快接受。:)