Javascript 在从HTML提取的文本中保留换行符
我有一个html表,它呈现在一个网页上,我在jquery查找中使用它将值插入textarea 在上呈现的表具有如下数据Javascript 在从HTML提取的文本中保留换行符,javascript,jquery,textarea,newline,Javascript,Jquery,Textarea,Newline,我有一个html表,它呈现在一个网页上,我在jquery查找中使用它将值插入textarea 在上呈现的表具有如下数据 <td class="ms-vb"><p>Hello. </p><p> line2</p> 及 我正在使用一些jquery来提取hmtl表的数据,并将其插入到一个textarea文本框中。。但是当我这样做的时候,我只是看到一个没有html标记的长字符串,当然也没有换行符 jquer
<td class="ms-vb"><p>Hello. </p><p> line2</p>
及
我正在使用一些jquery来提取hmtl表的数据,并将其插入到一个textarea文本框中。。但是当我这样做的时候,我只是看到一个没有html标记的长字符串,当然也没有换行符
jquery或javascript将数据插入到我的textearea字段(至少在textarea中保留了换行符)的好方法是什么
所以基本上我需要一个函数来转换这个字符串
在jquery或javascript for form中,是否有任何方法可以保存html数据,以便在我的多行文本区域中至少保留行提要
==此处的完整代码。。基本上是在我的页面上查找一些表格,并使用它在两个TextXbox中插入值:
<script type="text/javascript">
$('select[title$=Issue Type] option:eq(0)').text("Please Select").val("");
$('select[title$=Issue Type]').change(function(){
var issue = $('select[title$=Issue Type] :selected').text();
var bodyprefixes = [];
$('#issuetbl td:contains('+issue+')').nextAll().each(function(i, k) {
bodyprefixes.push($(k).text());
});
$('input[title$=Subject]').val(bodyprefixes[1]);
$('input[title$=Message]').val(bodyprefixes[0]);
});
</script>
比如:
var textAreaInput = '';
var getTextFromElement = function() {
textAreaInput += $(this).text() + '\n';
};
$('p').each(getTextFromElement);
$('div').each(getTextFromElement);
比如:
var textAreaInput = '';
var getTextFromElement = function() {
textAreaInput += $(this).text() + '\n';
};
$('p').each(getTextFromElement);
$('div').each(getTextFromElement);
尝试使用正则表达式。如果要支持其他标记,则必须将它们包含在正则表达式中。这里的一个也支持:
注意:您可能需要从输出中修剪四个'\n'。尝试使用正则表达式。如果要支持其他标记,则必须将它们包含在正则表达式中。这里的一个也支持:
注意:您可能需要从输出中修剪四倍“\n”。消息是我的文本区域。。。。我在尝试这个,但运气不好。。。。var textAreaInput=;var getTextFromElement=函数{textAreaInput+=$this.text+'\n';};$'textarea[title$=Message]'。Valbody前缀[0]。$'div'。每个HgetTextFromElement。。。如果我取出您的代码或插入'l1\nl2',我会得到数据。需要任何Firebug错误、HTML和JavaScript来进一步帮助您。消息是我的文本区域。。。。我在尝试这个,但运气不好。。。。var textAreaInput=;var getTextFromElement=函数{textAreaInput+=$this.text+'\n';};$'textarea[title$=Message]'。Valbody前缀[0]。$'div'。每个HgetTextFromElement。。。如果我取出你的代码或插入“l1\nl2”,我会得到数据。需要任何Firebug错误、HTML和JavaScript来进一步帮助你。这段代码看起来很有希望。。有麻烦。。添加了警报并刚刚获得[对象]。。。bodyprefixes.push$k.text$'td'.text.replace///g\n\n.replace/]+>/g;尝试了td.ms-vb和.html…文本变体。。输出相同。谢谢这个代码似乎对我有用。。。bodyprefixes.push$k.html.replace/DIV/g\n.replace//g\n.replace/]+>/g;非常感谢。这个代码看起来很有前途。。有麻烦。。添加了警报并刚刚获得[对象]。。。bodyprefixes.push$k.text$'td'.text.replace///g\n\n.replace/]+>/g;尝试了td.ms-vb和.html…文本变体。。输出相同。谢谢这个代码似乎对我有用。。。bodyprefixes.push$k.html.replace/DIV/g\n.replace//g\n.replace/]+>/g;非常感谢。
<script type="text/javascript">
$('select[title$=Issue Type] option:eq(0)').text("Please Select").val("");
$('select[title$=Issue Type]').change(function(){
var issue = $('select[title$=Issue Type] :selected').text();
var bodyprefixes = [];
$('#issuetbl td:contains('+issue+')').nextAll().each(function(i, k) {
bodyprefixes.push($(k).text());
});
$('input[title$=Subject]').val(bodyprefixes[1]);
$('input[title$=Message]').val(bodyprefixes[0]);
});
</script>
var textAreaInput = '';
var getTextFromElement = function() {
textAreaInput += $(this).text() + '\n';
};
$('p').each(getTextFromElement);
$('div').each(getTextFromElement);
$('#txtarea').text(
$('td.ms-vb').text()
.replace(/<\/?(br|div|p)\/?>/g, "\n\n")
.replace(/<[^>]+>/g, "")
);