1

我有一个包含一些 HTML 的文本区域(不要问我为什么!:))

HTML 看起来像:

<div class="text-tag">some gibberish 1</div> 
<div class="text-tag">some gibberish 2</div> 
<div class="text-tag">some gibberish 3</div>

我如何从中获取值:一些乱码1,一些乱码2和一些乱码3?

编辑:

我的 HTML 如下所示:

<textarea>
    <div class="text-tag">some gibberish 1</div> <div class="text-tag">some gibberish 2</div>  <div class="text-tag">some gibberish 3</div>
</textarea>

这个 html 是由用户输入的,我需要解析用户在 textarea 中输入的 HTML。

4

2 回答 2

8
var alltext = [];

$('div.text-tag').each(function() {
  alltext.push($(this).text());
});

console.log(alltext.join(', ')); // output: some gibberish 1, some gibberish 2, some gibberish 3

或者

​var alltext = $('div.text-tag').text();
console.log(alltext); // output: some gibberish 1some gibberish 2some gibberish 3

或者

var alltext = [];
$('div.text-tag').text(function(index, text) {
   alltext.push(text);
});
console.log(alltext.join(', '))​​; // output: some gibberish 1, some gibberish 2, some gibberish 3

根据您的编辑:

var content = $($.trim($('textarea').val())),
    alltext = [];
$(content).each(function() {
  if(this.nodeType != 3)
      alltext.push($(this).text());
});
console.log(alltext.join(', '));

示例锻炼 1

​ 另一个样本:

var textarea = $("textarea").val(),
    alltext = [];
$(textarea).filter(function(index, item) {
   if($(item).hasClass('text-tag'))
       alltext.push($(item).text());
})
console.log(alltext.join(', '));

示例锻炼 2

​</p>

于 2012-05-27T08:02:59.680 回答
0

我不知道什么更好,但我会为您的任务使用以下代码:

var values = [];
$(​$(​"textarea").val()​​​​​​).filter(".text-tag").each(function() {
    values.push(this.innerHTML);
});​​​​​​​
console.log(values);

演示:http: //jsfiddle.net/XWp4b/

于 2012-05-27T09:06:26.213 回答