如何在文本框中获取html文本中的所有标签

时间:2014-04-20 06:52:25

标签: javascript jquery html asp.net

我在textarea内有id="textArea1"的网页html源代码。

此Html代码包含一些"p"标记。 我想得到位于上面代码

的textArea中的所有p标签的列表

2 个答案:

答案 0 :(得分:1)

  

我想获得所有p标签的列表

<textarea>内的文字是一个字符串,如果您想要list内的子字符串,可以使用<p>函数,不确定split()到底是什么意思...

$('#textArea1').change(function(){ // or any other event you want
 var text= $(this).val();
 var count= text.split('<p>').length-1;
 console.log(count);
});

检查此JSFiddle

<强>更新

根据评论,您可以在<p></p>内出现文本(假设textarea内的html字符串格式有效),如下所示:

$('#textArea1').change(function(){
 var text= $(this).val();
 var strings= text.split('<p>');
 for(i=1;i<strings.length;i++){
    strings[i]= strings[i].split('</p>')[0];
    console.log(strings[i]);
 }
});

JSFiddle

答案 1 :(得分:0)

您无法计算段落元素或textarea内的值,因为您可以在单独的元素中找到它们。 Textarea不是为了这个目的。

您可以尝试计算其他元素中的所有p标记,例如单独的div,它由textarea值填充。

$('#textArea1').keyup(function () {
   $('div').html($(this).val());
   var totalPs = 0;
   $('div').find('p').each(function () {
     totalPs++;
   });
});

这会尝试计算p元素。

它会:

  1. 处理标识为textArea的textarea上的事件。

  2. 将textarea的值附加到元素(此处为div)。

  3. 创建值为0的变量。

  4. 在元素中查找p元素,然后迭代n次; n将是段落元素的数量。

  5. 增加价值。

  6. 您可以将该值用作结果,然后在文档内或控制台中获取该值。