我有一个div里面有一个img。生成这些内容后,我想将img src设置为外部div的background属性。
(我正在尝试做一个圆形图像,然后按照教程)
我有这个。
JS
<script type="text/javascript">
$(document).ready = (function() {
var someId = $("#someId");
$.each(someId, function(index, value) {
var src = value.find('img').attr('src');
value.css('background', 'url(' + src + ') no-repeat');
});
});
</script>
HTML
<div class="body">
<h2><img alt="image" src="img-src" /></h2>
</div>
但是,当我运行网站时,未设置背景属性。
Here是小提琴。
答案 0 :(得分:2)
几点观察
value
不是jQuery对象,因此它不会有像find()这样的方法尝试
jQuery(function ($) {
var someId = $("#someId");
someId.css('background', function () {
console.log('x')
return 'url(' + $(this).find('img').attr('src') + ') no-repeat'
})
})
演示:Fiddle
答案 1 :(得分:0)
您有语法错误,在$ .each末尾缺少});
(代码。
还有逻辑错误。您的代码中的value
将是您通过.find()找到的imgs,并且您正试图获取这些图像的src并将其设置为图像的背景......
在图像上设置背景毫无意义。