2012-04-11 24 views
9

jQuery ile uğraştım ve çözemediğim bir soruna girdim. JQuery ile mümkün olduğunu biliyorum, ancak işe yarayacak uygun bir örnek bulamıyor. Eklediğim özniteliği/değeri target="_blank" ile çift düzenli bağlantılar içeren bir sayfam var.Tüm hedefleri kaldır = "_ blank", bağlantılar

Bu değeri jQuery/JavaScript ile en iyi şekilde değerlendirmek sayfadaki her bağlantıdan kaldırılsın mı? Bu jQuery ile yapmalıdır

cevap

27

... modern bir tarayıcı ile

$('a[target="_blank"]').removeAttr('target'); 

... Böyle önceki IE'lerin olarak daha eski bir tarayıcı ile

Array.from(document.querySelectorAll('a[target="_blank"]')) 
    .forEach(link => link.removeAttribute('target')); 

...

var links = document.links, i, length; 

for (i = 0, length = links.length; i < length; i++) { 
    links[i].target == '_blank' && links[i].removeAttribute('target'); 
} 
+0

+1: Karşılaştırmaları jQuery'ye benzetiyorum. – iambriansreed

+0

Neden .slice() 'ile uğraşmaktan çekiniyorsunuz? .forEach() öğesini kullandığınızdan, sadece bu yöntemin içeriğini ayarlayın. '[] .forEach.call (document.querySelectorAll (...' –

+1

@amnotiam Bunu düşünmemiştim, ama bunu başarmak için daha iyi bir yoldur. Yorumunuz için teşekkürler, cevabımı güncelledim. – alex

İlgili konular