在PHP循环jQuery中将img更改为背景图像
我试图使用jQuery将加载的在PHP循环jQuery中将img更改为背景图像,php,jquery,image,loops,Php,Jquery,Image,Loops,我试图使用jQuery将加载的img标记转换为背景图像,但是,这些图像是在PHP while循环中加载的。当我尝试实现jQuery时,jQuery只查看最后一个img标记。这是我的密码 PHP $query = mysqli_query($dbleads, "SELECT * FROM plugin_blog WHERE published = 1 ORDER BY date_added DESC LIMIT 0,20"); $i = 0; $j=-1; while ($row=mysqli_f
img
标记转换为背景图像,但是,这些图像是在PHP while循环中加载的。当我尝试实现jQuery时,jQuery只查看最后一个img
标记。这是我的密码
PHP
$query = mysqli_query($dbleads, "SELECT * FROM plugin_blog WHERE published = 1 ORDER BY date_added DESC LIMIT 0,20");
$i = 0;
$j=-1;
while ($row=mysqli_fetch_array($query)){
preg_match('/(<img[^>]+>)/i', $row['html'], $matches);
$img = $matches[1];
++$i;
if ($i%2 == 0){
++$j;
echo "<div class='masonryImage tweets' style='width:300px; height:175px;'><div class='tweet-content'>" . $tweets[$j] . "</div></div>";
}
else{
echo "<div class='masonryImage blogImage' style='width: 300px; height:200px;'>" . $img . " </div>";
}
}
$query=mysqli\u query($dbleads,“从plugin\u blog中选择*,发布日期=1订单\u添加描述限制0,20”);
$i=0;
$j=-1;
while($row=mysqli\u fetch\u数组($query)){
预匹配('/(');
$j('.backbg').css('background-image','url('+imageSrc+'));
$j('.backbg').css('background-repeat','no-repeat');
$j('.backbg').css('background-position','center');
$j('.backbg').css('background-size','cover');
$j('.backbg').css('width','100%”);
$j('.backbg').css('height','100%);
});
有什么想法吗?您正在上一次迭代中设置每个.backbg的css。
运行
$j('.backbg').css('background-image','url('+imageSrc+'))代码>上一次,你说“找到每一个.backbg,即使是我已经做过的,并设置它们的css”
您需要执行以下操作:
$j('div.blogImage img').each(function() {
var imageSrc = $j(this).attr('src');
$j(this).remove();
$j('.blogImage').html('<div class="backbg"></div>');
$j('.backbg').css('background-image', 'url(' + imageSrc + ')');
$j('.backbg').css('background-repeat','no-repeat');
$j('.backbg').css('background-position','center');
$j('.backbg').css('background-size','cover');
$j('.backbg').css('width','100%');
$j('.backbg').css('height','100%');
});
var imageSrc=$j(this.attr('src');
var blogImg=$j(this.parent();
$j(this.remove();
html(“”);
blogImg.find('.backbg').css('background-image','url('+imageSrc+'));
javascript中的$j是什么?如果您试图使用jQuery对象,它可能是“jQuery”或“$”。你检查过你的javascript控制台了吗?我怀疑是$j导致了错误。您好,我正在加载另一个Javascript库,因此$j通过noConflict()替换了$/jQuery:)做了一个处理,刚刚在css文件中添加了css for.backbg。非常感谢:)
var imageSrc = $j(this).attr('src');
var blogImg = $j(this).parent();
$j(this).remove();
blogImg.html('<div class="backbg"></div>');
blogImg.find('.backbg').css('background-image', 'url(' + imageSrc + ')');