我有一个图像路径正在输出到锚标签的href。我想将该图像设置为锚点的背景。
这是我的代码:
jQuery('.initialize a').css({
backgroundImage: 'url(' + this.href + ')'
,backgroundRepeat: 'no-repeat'
,backgroundPosition: '0 0'
});
返回background-image:url(foo / undefined);在锚点上。
我做错了什么?
ETA:
jQuery('.initialize a').each(function() {
this.setAttribute("href", this.getAttribute("href").replace(',\'', ''));
var href = this.getAttribute("href");
this.setAttribute("href", href.substr(0, href.length-14));
});
所以我使用上面的方法来清理href属性的输出。
我问题的建议解决方案:
$(this).css({background-image: 'url(' + this.href + ')', ...});
应该适合那里。但我没有让它工作,可能是由于我的jQuery函数的格式化方式。目前我无法使用$。我怎么能适应这个?
答案 0 :(得分:1)
您可以使用this
的jQuery对象来获取href。
$(this).attr('href');
答案 1 :(得分:1)
正如我在评论中提到的,this
在您使用它的上下文中不引用正在修改的元素。您需要使用.each()
循环单独修改每个元素,以便您可以访问所需的属性。
$('.initialize a').each(function() {
$(this).css({background-image: 'url(' + this.href + ')', ...});
});
答案 2 :(得分:0)