Simplepie rss 缺少缩略图,使用 jQuery 的替代解决方案

Simplepie rss missing thumbnail, alternate solution using jQuery

我在从 simplepie rss 中提取缩略图时遇到了问题。我查看了所有内容,包括此处的 SO,但似乎无法找到有效的解决方案。特别是因为我想要所有提要及其主题的缩略图。

这就是说,我决定做的是,使用 jquery 在 rss 内容 div 中搜索 img 源,将该源字符串保存到变量中,然后使用该值填充我专门为缩略图设置的另一个 div。几乎所有 post 都有图片,所以应该没问题。

我让它工作了,但有一部分我无法全神贯注。 rss 通过 for 循环以 php 送入页面。为了测试应用程序,我用这个

一次拉入 2 个提要
$feed->set_item_limit(2);

所以这意味着下面的代码 (php) 运行了两次,给我两个提要。

[PHP + HTML]

<div id="mainContW">
<h1>Feed Content below</h1>
<br><br>

  <?php 
    //loop through all the content
    foreach($feed->get_items() as $feedItems){
  ?>
  <div class="feedContBox">
    <h2><a href="<?php echo $feedItems->get_permalink(); ?>" target="new"><?php echo $feedItems->get_title(); ?></a></h2>
    <br>
    <div class="feedThm"><img src="images/default-thm.jpg" alt=""></div>

    <br>

    <?php //echo $feedItems->get_description(); ?>
    <div class="feedContActual"><?php echo $feedItems->get_content(); ?></div>
    <br>
    <?php echo $feedItems->get_date(); ?>
    <br><br>
  </div><!-- feedContBox ender -->
  <?php
      }
    } //this ends the if/else above towards the top
  ?>

</div><!-- mainContentW ender -->

我想从上面的 html/php 获取图像源,将它们存储在一个变量中,这样我就可以将它附加到另一个 div 以创建我自己的缩略图。

我得到它与这个一起工作:[jQuery]

function replaceThm(){

    //this is a div to hold my own thumbnails
    var feedThm = $('.feedThm img');


    //this finds the img tag src on the content div from the feed
    var imgThm = $('.feedContActual').find("img").attr("src");

    feedThm.attr('src', imgThm);
}

replaceThm();

我遇到的问题是,虽然它确实有效,但问题在于,由于上面的 HTML/PHP 代码处于循环中,它正在做的是,它正在使用新创建的缩略图使用 jQ,并使用第一个 post 中的图像将其放在所有 post 上。它从第一个 post 中获取图像并将其作为缩略图添加到所有 post 中。

例如,假设我们有最初的两个 post。

POST 1
   POST 1 IMAGE


POST 2
   POST 2 iMAGE

这是做什么的:

NEW THUMB FROM THIS DIV IMG SOURCE equals TO POST 1 IMAGE (GOOD)
POST 1
   POST 1 IMAGE

NEW THUMB FROM THIS DIV IMG SOURCE equals TO POST 1 IMAGE (**NOT GOOD**)
POST 2
   POST 2 iMAGE

我想要它做的是:

NEW THUMB FROM THIS DIV IMG SOURCE equals TO POST 1 IMAGE (GOOD)
POST 1
   POST 1 IMAGE

NEW THUMB FROM THIS DIV IMG SOURCE equals TO POST 2 IMAGE (GOOD)
POST 2
   POST 2 iMAGE

我明白为什么要这样做,我想不通的是如何使 jQuery 代码循环像 php 那样。我已经尝试将 "script" 块插入到拇指 div 中,因此它会随着循环的进行而迭代,如下所示:

<div class="feedThm">
  <script type="text/javascript">
    replaceThm();
  </script>

  <img src="images/default-thm.jpg" alt="">


</div>

但无济于事。

我还把脚本标签放在页眉上(与我总是放它的页脚相对),但也没有。

当我重新加载页面时,缩略图消失或保留默认图标。

希望这是清楚的。任何人都知道我如何做到这一点?快到了!我知道!哈哈

感谢任何帮助。先谢谢你了。

这个更深层次的jquerydom遍历我居然解决了。标签发生了变化,但本质上它做了我需要它做的事情(如我最初的问题中所述)。将它放在这里供需要类似解决方案的任何人使用

$('.feedContBox').each(function(){
    var src = $(this).find('.feedContActual img:first').attr('src');
    $(this).find('.myThmDiv img').attr('src', src);
});