Javascript Jquery打开此链接而不是其他链接

Javascript Jquery打开此链接而不是其他链接,javascript,jquery,html,Javascript,Jquery,Html,我有一系列的div,每个div里面都有一个链接 我想完成的是在另一个窗口中打开.pdf文件,如果链接以.pdf结尾,则打开.pdf文件,如果不打开,则什么也不做,或者以后再做决定 我遇到的问题是,当您单击链接时,它将打开与页面上.pdfs相同的文档 我试着在这把小提琴中复制这个问题: 但它不起作用。代码在我这边起作用 代码如下: $('.somelink').click(function(eventObject) { var elem = $(this);

我有一系列的div,每个div里面都有一个链接

我想完成的是在另一个窗口中打开.pdf文件,如果链接以.pdf结尾,则打开.pdf文件,如果不打开,则什么也不做,或者以后再做决定

我遇到的问题是,当您单击链接时,它将打开与页面上.pdfs相同的文档

我试着在这把小提琴中复制这个问题:

但它不起作用。代码在我这边起作用

代码如下:

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

如果目标是PDF,则只需更改页面加载上的目标即可

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

此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>

注意:您的JSFIDLE没有选择jQuery,因此没有运行任何东西。

您可以这样做:

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

请看这里:

出于某种原因,此脚本的行为:

在木兰下,CMS的行为有点怪异

因此使用了以下代码:

$(".linkholder a[href$='pdf']").attr('target','_blank').addClass('pdf');
$(".linkholder a:not(a[href$='pdf'])").addClass('generic');
这是小提琴上的一个例子:


谢谢大家

感谢您添加库。问题是,每个浏览器都没有在Firefox中打开新页面,它只是提示我保存文件。@Luis:不同的浏览器以不同的方式处理下载。你试过吉勒姆·洛佩斯的建议吗?我刚刚回复了他的帖子。不幸的是,它打开了我这边所有的.pdf文件。@Luis:它们是如何提供的?当我们流回PDF时,我们会更改响应信息标题。小提琴可以工作,但在我这方面,它仍然会同时打开所有的.PDF文件。谢谢@Luis所有的
.pdfs
链接都是一次性的吗?确保
script
标记位于
之前,并且
位于
脚本
之前