Как положить target = "_ blank" в jQuery?

Я пробовал много вариантов поставить target="_blank" в ссылки с jQuery, но я не могу заставить его работать.

Здесь мой код:

var thumbfile = "<!--?php echo $smit_iturl_v; ?-->";
jQuery(document).ready(function () {
 var actualHost = jQuery.trim(jQuery.url.attr("host"));
 jQuery("a img").each(function (i) {
 if (jQuery.trim(jQuery.url.setUrl(jQuery(this).attr("src")).attr("host")) == actualHost && 
 (jQuery.url.setUrl(jQuery(this).attr("src")).attr("path")).indexOf("wp-content") != -1 &&
 isImage(jQuery.url.setUrl(jQuery(this).attr("src")).attr("file"))) {
 var parentTag = jQuery(this).parent().get(0).tagName;
 parentTag = parentTag.toLowerCase();
 if (parentTag == "a" &&
 jQuery.url.setUrl(jQuery(this).parent().attr("href")).attr("host") == actualHost &&
 jQuery.url.setUrl(jQuery(this).parent().attr("href")).attr("path").indexOf("wp-content") != -1 &&
 isImage(jQuery(this).parent().attr("href"))) {
 var description = (jQuery(this).attr("alt") == "") ? jQuery(this).attr("title") : jQuery(this).attr("alt");
 jQuery(this).parent().attr("href", thumbfile +
 "?title=" + jQuery(this).attr("title") +
 "&description=" + description +
 "&url=" + stripDomain(jQuery(this).parent().attr("href"))
 );
 }
 }
 });

Как я могу это сделать?

4 ответа

Слишком много информации! Это должно работать нормально:

$("a").attr("target","_blank");

См. пример здесь http://jsbin.com/evexi/edit. Он отлично работает.


Поскольку вы повторяете элементы изображения, которые являются дочерними элементами якоря, в начале цикла вы можете установить его:

//...
jQuery("a img").each(function (i) {
 // 'this' is the img element, you should get the parent anchor
 jQuery(this).parent().attr('target', '_blank'); 
 //...
});


Чтобы добавить к удивительной простоте этого ответа, который был очень полезен, вы можете настроить таргетинг на несколько типов ссылок, например:

$("#whatever_id a, #another_id, #yet_another, #etc").attr("target","_blank");

Просто сохраните разный id, разделенный запятыми.


Вы можете указать все ссылки, которые вы хотите открыть в новом окне, класс, например 'target-blank';

<a href="#">Opens in a new window</a>

затем добавьте капли jQuery

$("a.target-blank").attr('target','_blank');

действительный xhtml и DOM, который понимает target = '_ blank'!

licensed under cc by-sa 3.0 with attribution.