簡體   English   中英

替換javascript中的鏈接

[英]Replace links in javascript

我有此頁面顯示新聞站點的鏈接。 一切正常,除了在一個新聞站點上,我的鏈接后面是

,[object%20Object]

這使鏈接不可用。 我如何將其剝離? 我希望生成的鏈接看起來像這樣:

www.example.com

而不是像這樣:

www.example.com/,[object%20Object]

這就是我所擁有的:

 <html> <head> <script> function top_stories(o) { var items = o.query.results.item; var output = ''; var no_items=items.length; for(var i=0;i<no_items;i++) { var title = items[i].title; var link = items[i].link; var desc = items[i].description; output += "<li><a href='" + link + "'>"+title+"</a></li>"; } document.getElementById('results').innerHTML = output; } </script> </head> <body> <div id='results'></div> <script src='https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20feed%20where%20url%3D%22http%3A%2F%2Ffeeds.feedburner.com%2Fbreitbart%22&format=json&diagnostics=true&callback=top_stories'> </script> </body> </html> 

這是指向頁面http://sspencer10.com/test.html的鏈接

任何幫助將不勝感激!

這是因為items[i].link不是字符串。

相反,它是一個Array

[
  "http://short-url.for/example.com",
  {
    href: "http://www.example.com/",
    rel: "standout"
  }
]

要解決此問題,請獲取items[i].link的第一個元素[0]

var link = items[i].link[0];

或第二個元素的href屬性,即實際的鏈接:

var link = items[i].link[1].href;

當您將JavaScript Array轉換為String ,它等效於array .join(",") ; 當您將JavaScript Object轉換為String ,它將變為"[object Object]"

因此,換句話說:

 <html> <head> <script> function top_stories(o) { var items = o.query.results.item; var output = ''; var no_items=items.length; for(var i=0;i<no_items;i++) { var title = items[i].title; var link = items[i].link[1].href; var desc = items[i].description; output += "<li><a href='" + link + "'>"+title+"</a></li>"; } document.getElementById('results').innerHTML = output; } </script> </head> <body> <div id='results'></div> <script src='https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20feed%20where%20url%3D%22http%3A%2F%2Ffeeds.feedburner.com%2Fbreitbart%22&format=json&diagnostics=true&callback=top_stories'> </script> </body> </html> 

該項目上的link屬性是一個數組。 您需要link[0]它是項目的短URL)或link[1].href它是實際URL)。

function top_stories(o)
{
  var items = o.query.results.item;
  var output = '';
  var no_items=items.length;
  for(var i=0;i<no_items;i++)
    {
      var title = items[i].title;
      var link = items[i].link[1].href;
      var desc = items[i].description;
      output += "<li><a href='" + link + "'>"+title+"</a></li>";
    }
  document.getElementById('results').innerHTML = output;
}

暫無
暫無

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

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