我有一个块div.project
列表,每个块包含不同宽度和高度的图像。我需要将图像的宽度和高度设置为div.project
。
$('.project').find('img').each(function() {
var width = $('img').width();
var height = $('img').height();
$('.project').css('width',width);
$('.project').css('height',height);
});
问题是每个div.project
的第一个div.project
的jquery设置宽度和高度。
答案 0 :(得分:1)
请参阅此示例:http://jsfiddle.net/kevalbhatt18/44t0aw9d/
注意:您必须在每个循环中使用此关键字,因为如果您指向 .project类然后最后一个宽度和高度的图像将应用于.project 类
的
的$('.project').find('img').each(function () {
console.log($(this))
var width = $(this).width();
var height = $(this).height();
console.log($($(this).parentElement))
if ($(this)[0].parentElement) {
$($(this)[0].parentElement).css('width', width);
$($(this)[0].parentElement).css('height', height);
}
});
的
并且 parentElement 的内容您也可以使用.parent()
的
的 $('.project').find('img').each(function () {
var width = $(this).width();
var height = $(this).height();
$(this).parent().css('width', width);
$(this).parent().css('height', height);
});
的
修改强>
这是另一个解决方案。 http://jsfiddle.net/kevalbhatt18/44t0aw9d/2/ ,我认为这个解决方案很好,因为从paren将会有很强的 img 标签,所以它比两个解决方案更有效。
的
的 $('.project').each(function () {
$img = $(this).find('img')
var width = $img.width();
var height = $img.height();
$(this).css('width', width);
$(this).css('height', height);
});
的