我希望將「下載PDF」添加到鏈接到PDF文件的任何超鏈接。 目前,我可以預先確定該文本,但它將其預先添加到超鏈接文本中。我想它駐留在超鏈接元素以外,像這樣:下載[超鏈接文本]jQuery預先鏈接到鏈接到PDF文件的所有超鏈接元素
的PDF這是代碼我使用的是現在:
jQuery('a[href$=.pdf]').prepend('Download a PDF of ');
我希望將「下載PDF」添加到鏈接到PDF文件的任何超鏈接。 目前,我可以預先確定該文本,但它將其預先添加到超鏈接文本中。我想它駐留在超鏈接元素以外,像這樣:下載[超鏈接文本]jQuery預先鏈接到鏈接到PDF文件的所有超鏈接元素
的PDF這是代碼我使用的是現在:
jQuery('a[href$=.pdf]').prepend('Download a PDF of ');
你以前試過嗎?
jQuery('a[href$=.pdf]').before('Download a PDF of ');
你可以在一個內聯元素(例如<span>
)和insert it before所需的元素包起來。下面是一個SSCCE,只是copy'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()工作正是你想要的方式,所以我會去爲它來代替。
'span'不是必需的,但它需要按照您在此處顯示的方式(使用'$()'和'insertBefore'),但需要使用+1來更新答案並提供一個工作示例。 – 2010-01-31 18:05:18
是的。我只是沒有完全意識到'before()'的存在和好處。現在我做:) – BalusC 2010-01-31 18:13:07
下面是一個例子,將你在尋找什麼:
<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>
已在答覆中提供的其他選擇是錯誤的,因爲今天的反正。 jQuery的會抱怨:
未捕獲的錯誤:語法錯誤,無法識別的表達:一個[HREF $ = PDF]
選擇錨正確的做法是:
jQuery('a[href$=".pdf"]');
注意周圍的報價。 pdf
+1很好的答案。它的工作原理:http://jsbin.com/akiba3我承認,我拿了@ BalusC的SSCCE,並改變了一條線,用你的解決方案來運行我的測試。 – 2010-01-31 18:06:28
甜!我<3 jQuery。這讓我的生活變得更加輕鬆。 = D – AlteredConcept 2010-01-31 18:10:11
確實如此。沒有意識到這一點。 – BalusC 2010-01-31 18:11:31