【问题标题】:jQuery prepend to all hyperlink elements that link to PDF filesjQuery 预先添加到链接到 PDF 文件的所有超链接元素
【发布时间】:2010-01-31 17:55:54
【问题描述】:

我想在任何超链接前添加“下载 PDF”,链接到 PDF 文件。 目前,我能够添加该确切文本,但它会将其添加到超链接文本中。我希望它位于超链接元素之外,如下所示:下载 [带文本的超链接] 的 PDF 文件

这是我现在使用的代码:

jQuery('a[href$=.pdf]').prepend('Download a PDF of ');

【问题讨论】:

    标签: jquery hyperlink prepend


    【解决方案1】:

    你以前试过吗?

    jQuery('a[href$=.pdf]').before('Download a PDF of ');
    

    【讨论】:

    • +1 好答案。它有效:jsbin.com/akiba3 我承认,我拿了@BalusC 的 SSCCE 并更改了一行以使用您的解决方案来运行我的测试。
    • 甜蜜!我
    • +1 我也输入了 Balus 的答案,但在看到这个答案时将其丢弃:) 干得好,@AlteredConcept。
    【解决方案2】:

    到目前为止,答案中提供的其他选择器都是错误的。 jQuery 会抱怨:

    未捕获的错误:语法错误,无法识别的表达式:a[href$=.pdf]

    选择锚点的正确方法是:

    jQuery('a[href$=".pdf"]');
    

    注意 .pdf 周围的引号

    【讨论】:

      【解决方案3】:

      您可以将其包装在一个内联元素中(例如<span>)和insert it before 所需的元素。这是一个SSCCE,只需复制'n'paste'n'运行它:

      <!doctype html>
      <html lang="en">
          <head>
              <title>SO question 2172666</title>
              <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
              <script>
                  $(document).ready(function() {
                      $('<span>Download a PDF of </span>').insertBefore('a[href$=.pdf]');
                  });
              </script>
          </head>
          <body>
              <p><a href="foo.pdf">foo.pdf</a></p>
              <p><a href="foo.exe">foo.exe</a></p>
              <p><a href="bar.pdf">bar.pdf</a></p>
          </body>
      </html>
      

      编辑:啊,正如之前回答的那样,jQuery.before() 的工作方式完全符合您的要求,所以我会改为使用它。

      【讨论】:

      • 不需要span,但需要按照您在此处显示的方式使用它(使用$()insertBefore),但+1 用于更新您的答案并提供工作示例.
      • 是的。我只是没有完全意识到before() 的存在和好处。现在我做:)
      【解决方案4】:

      这是一个可以满足您要求的示例:

      <a href="foo.pdf">Foo</a>
      <a href="bar.pdf">Bar</a>
      <span id='foo'>Download a pdf of </span>
      <script type='text/javascript'>
      $('#foo').insertBefore('a[href$=.pdf]');
      </script>
      

      【讨论】:

        猜你喜欢
        • 2021-09-12
        • 1970-01-01
        • 2012-10-04
        • 1970-01-01
        • 2011-05-17
        • 2011-04-30
        • 2013-08-22
        • 1970-01-01
        • 2013-01-10
        相关资源
        最近更新 更多