2014-03-14 24 views
0

我正在研究Feed閱讀器來分析Google新聞Feed。 (Fiddle)。我無法從描述中移除標題和來源。我想到真正的內容是在這串標籤</font></b></font><br /><font size=\"-1\">之後。jQuery:在一串特定標記之後查找文本,並在沒有圖像時移除img標記

使用.after不正確,如var text =$(findImg).after('</font></b></font><br /><font size=\"-1\">').text().substr(0,200)+'...';

此外,對於不包含圖像的項目,您如何防止添加標籤?謝謝。

$('#rssdata').ready(function() { 
    $.ajax({ 
     url: 'http://query.yahooapis.com/v1/public/yql?q=Select%20*%20from%20rss%20where%20url%3D%22https%3A%2F%2Fnews.google.com%2Fnews%2Ffeeds%3Fq%3Dboring%26output%3Drss%22&format=json&diagnostics=true&callback=?', 
     dataType: 'json', 
     success: function (data) { 
      //console.log(data.feed.entries); 
      $(data.query.results.item).each(function (index, item) { 
       var findImg = item.description; 
var img = $(findImg).find('img').eq(0).attr('src'); 

       var text =$(findImg).after("</font></b></font><br /><font size=\"-1\">").text().substr(0,200)+'...'; 

       var item_html = '<li><a target="_blank" href="' + item.link + '">' + item.title + '</a><p><img src="' + img +'"/><span>' + text +'</span></li>'; 
       $('#rssdata ul.rss-items').append(item_html); 
      }); 
      $('#rssdata div.loading').fadeOut(); 
      $('#rssdata ul.rss-items').slideDown(); 
     }, 
     error: function() {} 

    }); 
}); 
+0

什麼是所需的輸出格式 –

回答

1

在這裏看到的修改後的代碼(Fiddle

$('#rssdata').ready(function() { 
$.ajax({ 
    url: 'http://query.yahooapis.com/v1/public/yql?q=Select%20*%20from%20rss%20where%20url%3D%22https%3A%2F%2Fnews.google.com%2Fnews%2Ffeeds%3Fq%3Dboring%26output%3Drss%22&format=json&diagnostics=true&callback=?', 
    dataType: 'json', 
    success: function (data) { 
     //console.log(data.feed.entries); 
     $(data.query.results.item).each(function (index, item) { 
      var findImg = item.description; 

      var img = $(findImg).find('img').eq(0).attr('src'); 

      var text = $(findImg).find("div.lh").children("font:nth-of-type(2)").text().substr(0, 150) + '...'; 

      var item_html = '<li><a target="_blank" href="' + item.link + '">' + item.title + '</a><p>'; 
      if (img != undefined && img != null && img != "") { 
       item_html += '<img src="' + img + '"/>'; 
      } 
      item_html += '<span>' + text + '</span></p></li>'; 
      $('#rssdata ul.rss-items').append(item_html); 
     }); 
     $('#rssdata div.loading').fadeOut(); 
     $('#rssdata ul.rss-items').slideDown(); 
    }, 
    error: function() {} 

}); 

});

1

說實話,我認爲你做得對。我的意思是你得到描述的方式。我編輯你的小提琴時,不顯示IMG標記,當沒有圖像。 http://jsfiddle.net/veritas87/cYFLe/32/

if(typeof img != 'undefined') { 
        var imgTag = "<img src='" + img + "' />";  
       } 

       var text =$(findImg).after("</font></b></font><br /><font size=\"-1\">").text().substr(0,200)+'...'; 

       var item_html = '<li><a target="_blank" href="' + item.link + '">' + item.title + '</a><p>' + imgTag + '<span>' + text +'</span></li>'; 

正如你所看到的,它會檢查IMG變種是不是不確定的。當IMG var未定義時,它構造IMG標籤。

相關問題