使用jQuery将动态href和目标附加到锚点

时间:2014-02-21 22:18:38

标签: javascript jquery html

我正在使用一段jQuery,它允许我有一个“图像框”库,如果有人点击拇指,相应的图像会被加载到“图像框”div中。

我稍微修改了一下代码,这样当点击一个拇指时,它也会加载到一个带有图像src的锚点中,这样用户就可以在新标签页面中打开图像。

我的问题是每当我将target =“_ 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

2 个答案:

答案 0 :(得分: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
    );
});

答案 1 :(得分:1)

替换

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

使用

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

这应该有效。请参阅演示JSFIDDLE