2016-01-21 23 views
0

所以,我有一系列的div和每個div內有一個鏈接。Jquery打開此鏈接,而不是其他人

我想要完成的是在另一個窗口或選項卡中打開.pdf文件,如果鏈接以in.pdf結尾,如果不做任何事或稍後做出其他決定。

我遇到的問題是,當你點擊鏈接時,它會打開同樣的文件多次,因爲你有.pdf在頁面上。

我想在這撥弄複製問題:

https://jsfiddle.net/x9fo6cgk/

但它無法正常工作。代碼在我身邊。

下面是代碼:


          
  
$('.somelink').click(function(eventObject) { 
 
     var elem = $(this); 
 
     if (elem.attr("href").match(/\.pdf$/i)) { 
 
     eventObject.preventDefault(); 
 
     elem.attr('target', '_blank'); 
 
     } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    <div class="linkholder"> 
 
     <a class="somelink" href="https://bitcoin.org/bitcoin.pdf">pdf 1</a> 
 
    </div> 
 

 
    <div class="linkholder"> 
 
     <a class="somelink" href="http://www.pdf995.com/samples/pdf.pdf">pdf 2</a> 
 
    </div> 
 

 
    <div class="linkholder"> 
 
     <a class="somelink" href="http://www.bing.com">.com</a> 
 
    </div> 
 

 
    <div class="linkholder"> 
 
     <a class="somelink" href="http://www.google.org">.org</a> 
 
    </div>

提前感謝!

回答

0

如果您是PDF文件,您只需更改頁面加載的目標。

$('.somelink').each(function() { 
    var elem = $(this); 
    if (elem.attr("href").match(/\.pdf$/i)) { 
    elem.attr('target', '_blank'); 
    } 
}); 

的jsfiddle:https://jsfiddle.net/x9fo6cgk/3/

結果在這個HTML:

<div class="linkholder"> 
    <a class="somelink" href="https://bitcoin.org/bitcoin.pdf" target="_blank">pdf 1</a> 
</div> 
<div class="linkholder"> 
    <a class="somelink" href="http://www.pdf995.com/samples/pdf.pdf" target="_blank">pdf 2</a> 
</div> 
<div class="linkholder"> 
    <a class="somelink" href="http://www.bing.com">.com</a> 
</div> 
<div class="linkholder"> 
    <a class="somelink" href="http://www.google.org">.org</a> 
</div> 

注:您的jsfiddle沒有jQuery的選擇所以沒有跑。

+0

感謝您添加庫。 .each的問題是,在Firefox中不打開新頁面,它只是提示我保存文件。 – Luis

+0

@Luis:不同的瀏覽器以不同的方式處理下載。你有沒有嘗試Guilherme Lopes的建議? –

+0

我剛回復他的帖子。它不幸地打開了我所有的.pdf。 – Luis

0

你可以這樣做:

$('.somelink').click(function(eventObject) { 
    var elem = $(this); 
    if (elem.attr("href").match(/\.pdf$/i)) { 
    eventObject.preventDefault(); 
    window.open(elem.attr('href')); 
    } 
}); 

看吧:https://jsfiddle.net/x9fo6cgk/6/

+0

小提琴的作品,但在我身邊,它仍然一次打開所有的.pdf。謝謝! – Luis

+0

@Luis所有'.pdfs'鏈接一次?確保'script'標籤在''和'' –

相關問題