如何使用javascript从大html字符串中提取所有超链接标题?

如何使用javascript从大html字符串中提取所有超链接标题?,javascript,jquery,Javascript,Jquery,我得到了一个HTML字符串:var code;我想提取这个大字符串中的所有超链接标题值,并将它们放在textarea中。我尝试了以下方法,但都没用。谁能告诉我我做错了什么 要查找的示例超链接(我想提取芒果、樱桃等): 我的代码字符串包含如下数据块: <div class="details"> <div class="title"> <a href="/season/">mango</a> <span cla

我得到了一个HTML字符串:var code;我想提取这个大字符串中的所有超链接标题值,并将它们放在textarea中。我尝试了以下方法,但都没用。谁能告诉我我做错了什么

要查找的示例超链接(我想提取芒果、樱桃等):


我的代码字符串包含如下数据块:

<div class="details">
    <div class="title">
      <a href="/season/">mango</a>
      <span class="type">3</span>
    </div>

  </div>

3.
完整代码:

$.getJSON('http://anyorigin.com/get?url=http://asite.com/getit.php/&callback=?,函数(数据){
//$('#output').html(data.contents);
var siteContents=data.contents;
//写入文本区域
document.myform.outputtext.value=站点内容;
var start=siteContents.indexOf(“
    ”); var end=siteContents.indexOf(“
      ”,start); var code=siteContents.substring(开始、结束); document.myform2.outputExt2.value=代码;
      var pattern=/看起来您正在尝试使用正则表达式解析HTML。有关于该主题的更多信息

      由于这个问题被标记为jQuery,您可以尝试以下方法

      从返回的HTML生成jQuery对象:

      $markup = $(data.contents);
      
      找到锚:

      $anchors = $markup.find('a');
      
      获取文本(或任何您想要的属性):

      将结果放入文本区域:

      $textarea.val(arrText.join(','));
      

      要实现这个jquery是最简单的解决方案,您可以尝试以下代码

      $('a').each(function(){
          var copiedTitle = $(this).html();
          var previous = $('#test').html();
          var newText = previous +"\n"+ copiedTitle;
              $('#test').html(newText);
              });
      

      Umm,
      $(“a”)。每个(function(){//concatenate};
      ?既然你知道JQuery,为什么不试试
      $(“.list a”)。每个(function(){//do some})
      应该在这里使用$.getJSON来获取html…$.ajax会产生更好的结果吗?谢谢大家的回复。志浩我试过你的解决方案没有文本区域的数据:$markup=$(code);$archors=$markup.find('a');arrText=[];$archors.each(function(){arrText.push($(this.text());});myTextarea.value=arrText.join(',');@user1788736对不起,我不明白你所说的“文本区域中没有数据”是什么意思.根据您的问题,我假设您在回答中得到的HTML将在
      数据中。内容
      。如果我错了,请纠正我。zhihao data.contents是原始HTML。但我将其缩短了(代码包含我要提取的数据)因此,我避免在原始html代码中使用不必要的超链接。因此,我想从“代码”中删除所有超链接标题,并将它们放在文本区域中。@user1788736感谢您的澄清。我不明白您现在遇到了什么问题。您提到“尝试了[我的]解决方案,文本区域中没有数据”.到底发生了什么或不起作用?我提供的解决方案应该提供一个通用的指导原则,说明如何从响应的HTML字符串中获取锚内的文本。
      arrText = [];
      $anchors.each(function() {
          arrText.push($(this).text());
      });
      
      $textarea.val(arrText.join(','));
      
      $('a').each(function(){
          var copiedTitle = $(this).html();
          var previous = $('#test').html();
          var newText = previous +"\n"+ copiedTitle;
              $('#test').html(newText);
              });