添加到img jquery

时间:2017-02-01 21:41:15

标签: javascript jquery html

目前,我正在尝试在jQuery中的图片附近添加链接。这是目前的代码:

showPins: function(options) {

        var options =  $.extend(defaults, options);

        this.css({'cursor' : options.cursor, 'background-color' : options.backgroundColor , 'background-image' : "url('"+options.backgroundImage+"')",'height' : options.fixedHeight , 'width' : options.fixedWidth});

        for(var i=0; i < (options.pinDataSet).markers.length; i++)
        {
            var dataPin = options.pinDataSet.markers[i];

            var imgC = $('<img rel="/map-content.php?id='+dataPin.id+'" class="pin '+options.pinclass+'" style="top:'+dataPin.ycoord+'px;left:'+dataPin.xcoord+'px;">');
            imgC.attr('src',  options.pin);
            imgC.attr('title',  dataPin.title);

            var a = $('<a>', {href:options.pinurl}).appendTo(imgC);

            imgC.appendTo(this);
        }
    }

相反,我收到了这个

this

我不确定如何在标签周围包装href。相反,img标签环绕着href。

2 个答案:

答案 0 :(得分:0)

只需使用.append代替.appendTo

来自http://api.jquery.com/append/

  

.append()和.appendTo()方法执行相同的任务。专业   差异在于语法特定,在放置中   内容和目标。使用.append(),前面的选择器表达式   该方法是插入内容的容器。同   另一方面,.appendTo(),内容在方法之前,   作为选择器表达式或动态创建的标记,以及   它被插入到目标容器中。

答案 1 :(得分:0)

您只需在代码中切换元素即可。 $(element).appendTo(element2)element添加到element2的内部。所以在您的情况下,问题是

var a = $('<a>', {href:options.pinurl}).appendTo(imgC);

应该是

var a = $('<a>', {href:options.pinurl});
imgC.appendTo(a);

希望这有帮助!