2014-02-21 61 views
1

我正在使用一块jQuery,它允许我有一个'图像框'画廊,如果有人点击拇指,相应的图像将被加载到'图像框'分区。使用jQuery将动态href和目标添加到锚点

我已经修改了一下代码,这样当一个拇指被点击时,它也会加载一个带有图像src的锚点,以便用户可以在新选项卡中打开图像。

我的问题是,每当我将anchor =“_ blank”添加到锚点时,href不会被拉入。有什么方法可以将target =“_ blank”添加到下面的代码中,而不会取消动态href?

在此先感谢!

jQuery(".gallery-item a").click(function(evt) { 
    evt.preventDefault(); 
    jQuery("#imageBox").append(
     jQuery("<img>", { src: this.href }), 
     jQuery("<a>", { href: this.href }) 
    ); 
}); 

P.S - 我已经尝试过的第一个函数后添加此代码,但它不会帮助的。

jQuery("#imageBox a").attr("target","_blank"); 

这里是实时链接,如果它有帮助的话。请原谅网站的糟糕编码。几年前,当我没有经验时,我首先建立了它。

http://highlevelconstructionltd.com/river-ridge-estates

回答

1

你应该能够定义target当您创建的元素:

jQuery(".gallery-item a").click(function(evt) { 
    evt.preventDefault(); 
    jQuery("#imageBox").append(
     jQuery("<img>", { src: this.href }), 
     jQuery("<a>", { href: this.href, target: '_blank' }) // <-- Define the target 
    ); 
}); 
+0

谢谢!这正是我需要的。我尝试着最初做类似的事情,但我相信我会在“目标:”的位置加上引号,我现在看到的是错误的。非常感谢 ! – user3339127

1

更换

jQuery("#imageBox a").attr("target","_blank"); 

随着

jQuery("#imageBox a").prop("target","_blank"); 

这应该工作。请参阅演示JSFIDDLE

+0

谢谢Rajesh!我最终采取了sbeliv01的路线,但这将是很好的知道将来的参考。干杯! – user3339127

相关问题