【发布时间】:2015-05-27 11:49:53
【问题描述】:
我正在尝试在以下情况下进行这项工作:
我的目标是从下面的 html 结构中获取第一张图片的 src,然后将其 src 值设置为 DOM 中存在的另一个元素的background-image:。
动态加载的 HTML 输出。
我设置了 Instafeed jQuery 插件,它输出以下 html 结构:图像通过 Instagram API 动态加载。
我想从下面的第一张图片中抓取图片src...
<div id="instafeed">
<div class="col-xs-4">
<a href="#" target="_blank" class="thumbnail fa-eye fa">
<img class="dynamic-image" src="https://scontent.cdninstagram.com/hphotos-xpa1/t51.2885-15/e15/10375586_312675495555582_308260980_n.jpg">
</a>
</div>
<div class="col-xs-4">
<a href="#" target="_blank" class="thumbnail fa-eye fa">
<img class="dynamic-image" src="https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/e15/10454019_1429094704028916_1903084125_n.jpg">
</a>
</div>
<div class="col-xs-4">
<a href="#" target="_blank" class="thumbnail fa-eye fa">
<img class="dynamic-image" src="https://scontent.cdninstagram.com/hphotos-xpf1/t51.2885-15/e15/1530818_682625665122870_298851871_n.jpg">
</a>
</div>
</div>
...并将其作为以下目标元素的url.bgcover:
<div class="masthead bgcover" style="background-image: url('https://distilleryimage11-a.akamaihd.net/fdc05880f98511e2af2c22000a9e510c_7.jpg');"></div>
jQuery
>下面的代码可以工作,但是,它会获取 html 中的其中一个图像的 img src,而不是第一个...
$( window ).load(function() {
// For each image with the class .dynamic-image on the page
$(".dynamic-image").each(function() {
// Grab the image
var image_source = $(this).attr('src');
// Set the background
$(".bgcover").css("background-image",'url('+image_source+')');
});
});
通过阅读jQuery's :eq() Selector 文档,我现在正在尝试学习如何使用选择器,但我对 JS/jQuery 还很陌生,所以我非常感谢任何有关使其以正确方式工作的提示.
【问题讨论】:
-
试试这个 --- $(".dynamic-image:eq(0)") 选择第一个 img
-
我已经试过了,但是,我把它放在jQuery.each()下面,我再试一次。谢谢。
-
或者更好地尝试 $("img:eq(0)") 它会选择第一个图像标签,但仅当您在同一文档文件中之前没有任何图像标签时才使用
-
嘿@divy3993 - 它开箱即用!感谢您的意见!
-
很高兴它对你有用!
标签: javascript jquery html css src