2011-09-28 76 views
1

我有一個網址的數組,我從CAML查詢(如:http://www.domain.com/site/files/doc1.pdf,http://www.domain.com/site/files/doc2.pdf)。取決於查詢,該數組可以有任意數量的逗號分隔的URL。我需要做的,不能包裹我的頭,拿走這些URL中的每一個,獲取文件名,然後以某種方式創建DOM元素,如<a href=http://www.domain.com/site/files/doc1.pdf>doc1</a>。我不知道它是否需要二維陣列或什麼,但這是比我的水平高一點。數組名稱是「filesarray」,我知道,你可以通過執行獲得來自URL的文件名:與URL的jQuery Arrary - 轉換爲可點擊的鏈接

var index = filesarray.lastIndexOf("/"); 
var filename = filesarrary.substr(index); 

除此之外,我敢丟失。任何幫助將不勝感激。

回答

0

這樣的事情呢?

var urlArray = listOfUrls.split(","); 
var i; 
var index = 0; 
var filename = ""; 
$(urlArray).each(function(i, url){ 
     index = filesarray.lastIndexOf("/"); 
     filename = filesarrary.substr(index); 

     var elem = $('<a href="'+url+'">'+filename+'</a>'); 
     //do whatever you want with the dom element,like: 
     $("body").append(elem); 
    }); 

我假設listOfUrls擁有逗號分隔的URL列表(如您所述)。

讓我知道它是否以您想要的方式工作,或者我可以修改它一下。

0

試試這個:

<div id="linksHolder"></div> 

    <script type="text/javascript"> 
     var stringOfLinks = "http://something.com/something.pdf, http://something1.com/somethingElse.doc"; 
     var arrayOfLinks = stingOfLinks.split(","); 
     var fileName = ''; 
     var index = ''; 
     for(var i=0; i<arrayOfLinks.length; i++) { 
      index = arrayOfLinks[i].lastIndexOf("/"); 
      fileName = arrayOfLinks[i].substr(index); 
      $("#linksHolder").add('<a href="'+arrayOfLinks[i]+'">'+fileName+'</a>') 
     } 
    </script> 
1
var arr = [ 
    'http://www.domain.com/site/files/doc1.pdf', 
    'http://www.domain.com/site/files/doc2.pdf', 
] 
for (i in arr) {  
    var href = arr[i]; 
    var text = arr[i].split('/').pop(); 
    $('body').wrap('<a href="'+href +'">'+text+'</a>'); //or append/prepend/html istead wrap 
}