簡體   English   中英

我如何從包含div的textarea中獲取價值

[英]How do I get value from textarea which contains div

我有一個包含一些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。

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

我不知道有什么更好的方法,但是我將使用以下代碼來完成您的任務:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM