jquery从href值设置css背景

时间:2012-02-24 14:10:25

标签: jquery css background anchor

我有一个图像路径正在输出到锚标签的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函数的格式化方式。目前我无法使用$。我怎么能适应这个?

3 个答案:

答案 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)

  1. 使用noConflict来使用jQuery。
  2. 使用jQuery的css函数将它放在后台。
  3. JsFiddle sample.