在textarea中获取第一个块报价

时间:2015-01-28 02:31:30

标签: javascript jquery html

我有一个文本区域可以包含多个块引用,我想要做的是获取直接位于文本区域的开放标记之后的第一个块引用的值。

HTML CODE

案例1:

<textarea>
  <div dir="ltr" style="text-align: left;">

  <blockquote>
    I want to grab this text
  </blockquote>

  <blockquote>
    I don't want this text
  </blockquote>

  </div>
</textarea>

案例2:

<textarea>
  <div dir="ltr" style="text-align: left;">

  <blockquote>
    I want to grab this text
  </blockquote>

  </div>
</textarea>

案例3:

<textarea>
  <div dir="ltr" style="text-align: left;">

  <p>
    Good afternoon, gentlemen. I am a HAL 9000 computer. I became operational at the H.A.L
  </p>

  <blockquote>
    In this case I don't want to grab anything
  </blockquote>

  </div>
</textarea>

Jquery CODE

$('textarea').each(function(){
  var content = $(this).val();
  var blockquote = $(content).find('blockquote:first').text();

  alert(blockquote);
});

上面的Jquery代码在案例1和2中工作正常但在案例3中不起作用。 Fiddle DEMO

2 个答案:

答案 0 :(得分:2)

尝试first-child

var blockquote = $(content).find('blockquote:first-child').text();

JSFiddle

答案 1 :(得分:0)

如果标记名为blockquote,您需要获取文本区域的第一个子项然后构建IF条件。