我尝试了很多变体来将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"))
);
}
}
});
我该怎么做?
答案 0 :(得分:77)
答案 1 :(得分:16)
由于您正在迭代作为锚的子元素的图像元素,因此在循环的开头可以设置它:
//...
jQuery("a img").each(function (i) {
// 'this' is the img element, you should get the parent anchor
jQuery(this).parent().attr('target', '_blank');
//...
});
答案 2 :(得分:10)
为了增加这个答案非常简单,这个方法非常有用,你可以定位多种类型的链接,例如:
$("#whatever_id a, #another_id, #yet_another, #etc").attr("target","_blank");
只需用逗号分隔不同的ID即可。
答案 3 :(得分:7)
您可以在新窗口中提供要打开的所有链接,例如“target-blank”;
<a href='#' class='any existing classes target-blank'>Opens in a new window</a>
然后添加一滴jQuery
$("a.target-blank").attr('target','_blank');
有效的xhtml和理解target ='_ blank'的DOM!