目前,我正在尝试在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);
}
}
相反,我收到了这个
我不确定如何在标签周围包装href。相反,img标签环绕着href。
答案 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);
希望这有帮助!