PDF ファイルにリンクするハイパーリンクの先頭に「PDF のダウンロード」を追加したいと思います。現在、その正確なテキストを先頭に追加できますが、ハイパーリンク テキストの先頭に追加されます。次のように、ハイパーリンク要素の外に配置したいと思います: Download a PDF of [hyperlink with text]
これは私が今使っているコードです:
jQuery('a[href$=.pdf]').prepend('Download a PDF of ');
以前に試したことがありますか?
jQuery('a[href$=.pdf]').before('Download a PDF of ');
インライン要素 (例: <span>
)でラップして、目的の要素の前に挿入できます。これが SSCCEです。コピーして貼り付けて実行するだけです。
<!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()はあなたが望むように正確に機能するので、代わりにそれを選びます。
探していることを実行する例を次に示します。
<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>