如何使用jQuery在新窗口中打開.pdf
文件擴展名的所有鏈接?我需要改變這樣的:用.pdf打開任何鏈接用jQuery在新窗口中打開?
<a href="domain.com/pdf/parkingmap.pdf">parking map</a>
在此:
<a href="domain.com/pdf/parkingmap.pdf" target="_blank">parking map</a>
所有文件都在一個文件夾/pdf
是否有幫助。
如何使用jQuery在新窗口中打開.pdf
文件擴展名的所有鏈接?我需要改變這樣的:用.pdf打開任何鏈接用jQuery在新窗口中打開?
<a href="domain.com/pdf/parkingmap.pdf">parking map</a>
在此:
<a href="domain.com/pdf/parkingmap.pdf" target="_blank">parking map</a>
所有文件都在一個文件夾/pdf
是否有幫助。
要達到此目的,您可以選擇任何a
元素,其中href
屬性以.pdf
結尾,併爲其添加target="_blank"
屬性。試試這個:
$(function() {
$('a[href$=".pdf"]').prop('target', '_blank');
});
的一種方式,假設你要鏈接不在pdf
結束在同一個頁面打開:
$('a').click(
function(e){
e.preventDefault();
if (this.href.split('.').pop() === 'pdf') {
window.open(this.href);
}
else {
window.location = this.href;
}
});
jQuery的一行代碼:
$('a[href$=".pdf"]').attr('target','_blank');
而且in vanilla Javascript:
[].filter.call(document.querySelectorAll('a'), function(a){
return a.href.match('\\.pdf$') ? a.target = '_blank' : 0;
});
或許:
var anchors = document.body.getElementsByTagName('a');
for (var i = 0; i < anchors.length; i++) {
if(anchors[i].getAttribute('href').match('\\.pdf$') {
anchors[i].setAttribute('target', '_blank');
}
}
爲什麼downvote? – gabssnake
'.prop()'或'.attr()'? – Sablefoste
是否有你使用'.prop('target','_blank');'而不是'.attr('target','_blank')的理由? – sircapsalot
@SableFoste'.prop()' –