【问题标题】:get src from every <img> and set it to css as background从每个 <img> 获取 src 并将其设置为 css 作为背景
【发布时间】:2014-07-22 10:08:47
【问题描述】:

我正在尝试制作 jquery 代码,该代码将从 html 中的每个图像中获取 src 并将其设置为 css 以用于例如 number-1 类,然后为每个 img 设置 css : visibility:hidden;我已经编码了之前添加 div 并将被包装到其中的函数。我有自动生成的 html 代码,我不想编辑每一页。

var a = $('div.gallery > a > img');

for( var i = 0; i < a.length; i+=1 ) {
  a.slice(i, i+1).wrapAll('<div class="grid-img"></div>');
}

$('.grid-img').each(function(i){
  $(this).addClass('number-' + (i+1));
});

然后将 img 中的每个 src 添加到变量 imgBgLink1,2,3,4 并将其设置为类 number1,2,3,4 的背景图像

$("div.gallery a img").each(function(i){
  var imgBgLink+'(i+1)' = $(this).attr("src");
  $(".number+(i+1)").css("background-image", "url("imgBgLink+(i+1)")";
});

jsfiddle

【问题讨论】:

  • 也向我们展示 html 代码。

标签: javascript jquery html


【解决方案1】:

你的图片选择器错误,改正为

var a = $('div.gallery &gt; a &gt; img'); // 图片在锚标签内

你也可以像下面这样改进你的 jquery 脚本

$(function(){
 $('div.gallery > a > img').each(function(index){
    $(this).addClass('number-' + (index+1));
    $(this).wrapAll('<div class="grid-img"></div>');
 });
});

Demo

编辑:根据编辑后的帖子更新

$(function(){
  $('div.gallery > a > img').each(function(index){
      var num = parseInt(index)+1;
      var imageBG = $(this).attr('src')+num;
      $(this).wrapAll('<div class="grid-img number-'+num+
     '" style="background-image: url('+imageBG+')"></div>');
   });
 });

Demo

【讨论】:

  • 不,我在 OP 中描述了它,但没有添加不起作用的代码,我现在将它添加到 OP,但它是这样的:$("div.gallery a img" ).each(function(i){ var imgBgLink+'(i+1)' = $(this).attr("src"); $(".number"(i+1)).css('background', 'imgBgLink+(i+1)') });
  • 非常感谢你现在正在工作:-),我没有 15 声望,但当我得到它时,我会尽快打勾加上 1
【解决方案2】:

您的选择器错误:

var a = $('div.gallery > img > a');

应该是这样的:

var a = $('div.gallery > a > img');

并像这样使用:

for( var i = 0; i < a.length; i+=1 ) {
  a.slice(i, i+1).wrapAll('<div class="grid-img number-"'+i+'></div>');
}

【讨论】:

  • 好吧,复制错误,但这不是答案。我想要的是我需要从每个 img 中获取 src 并将其设置为 asi background:url(img-src) 到 class number-1,2,3,4 的顺序。 //编辑:@bhushan,小提琴的链接在操作中
猜你喜欢
  • 1970-01-01
  • 2011-12-14
  • 1970-01-01
  • 1970-01-01
  • 2017-08-27
  • 2022-11-18
  • 1970-01-01
  • 2014-03-04
  • 1970-01-01
相关资源
最近更新 更多