jQuery前置于链接到PDF文件的所有超链接元素

时间:2010-01-31 17:55:55

标签: jquery hyperlink prepend

我想在“下载PDF格式”前加上任何超链接,链接到PDF文件。 目前我能够预先添加那些确切的文本,但它会将其添加到超链接文本中。我希望它驻留在超链接元素之外,如下所示:下载[带文本的超链接]

的PDF

这是我现在使用的代码:

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

4 个答案:

答案 0 :(得分:4)

你以前试过吗?

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

答案 1 :(得分:4)

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

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

选择锚点的正确方法是:

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

请注意.pdf

附近的引号

答案 2 :(得分:2)

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

<!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()完全符合您的要求,所以我会选择它。

答案 3 :(得分:0)

以下是一个可以满足您需求的示例:

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